• 应用Dubbo框架打造仿猫眼项目(一) 用户模块开发


    章节概要

    1.学会API网关权限验证和其他服务交互(用户服务)

    2.学会开发开发springboot自定义配置

    3.学会Dubbo负载均衡策略选择和使用

    主要内容

    一、修改GUS中的JWT模块

    1.增加忽略URL配置

    2.修改返回内容匹配业务

    3.增加ThreadLocal的用户信息保存

    二、业务功能开发

    1.增加用户服务并提供接口

    2.初步了解API网关与服务间的交互过程

    3.根据接口文档开发用户接口

    具体开发

    1.建用户表

    DROP TABLE IF EXISTS mooc_user_t;
    CREATE TABLE mooc_user_t(
       UUID INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键编号',
       user_name VARCHAR(50) COMMENT '用户账号',
       user_pwd VARCHAR(50) COMMENT '用户密码',
       nick_name VARCHAR(50) COMMENT '用户昵称',
       user_sex INT COMMENT '用户性别 0-男,1-女',
       birthday VARCHAR(50) COMMENT '出生日期',
       email VARCHAR(50) COMMENT '用户邮箱',
       user_phone VARCHAR(50) COMMENT '用户手机号',
       address VARCHAR(50) COMMENT '用户住址',
       head_url VARCHAR(50) COMMENT '头像URL',
       biography VARCHAR(200) COMMENT '个人介绍',
       life_state INT COMMENT '生活状态 0-单身,1-热恋中,2-已婚,3-为人父母',
       begin_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
       update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
    ) COMMENT '用户表' ENGINE = INNODB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
    
    insert into mooc_user_t(user_name,user_pwd,nick_name,user_sex,birthday,email,user_phone,address,head_url,life_state,biography) values('admin','0192023a7bbd73250516f069df18b500','隔壁泰山',0,'2018-07-31','admin@mooc.com','13888888888','北京市海淀区朝阳北路中南海国宾馆','films/img/head-img.jpg',0,'没有合适的伞,我宁可淋着雨');
    insert into mooc_user_t(user_name,user_pwd,nick_name,user_sex,birthday,email,user_phone,address,head_url,life_state,biography) values('jiangzh','5e2de6bd1c9b50f6e27d4e55da43b917','阿里郎',0,'2018-08-20','jiangzh@mooc.com','13866666666','北京市朝阳区大望路万达广场','films/img/head-img.jpg',1,'我喜欢隔壁泰山');

    2.测试API网关与服务间的交互过程

     1)复制出一个guns-user模块(修改模块名称相关配置),修改application.yml中相关属性(修改启动端口,关闭jwt验证,增加dubbo地址)

     2)user模块中实现UserApi中的方法,启动zookeeper,启动user模块

     3)gateway模块中在authController中调用userApi的方法,看看user中是否有打印

    3.gateway配置忽略列表

    1)JwtProperties类、application.yml 增加忽略配置属性ignore-url

    2) AuthFilter 增加忽略列表代码

    4.基于用户业务的API功能修改,补全登录、注册、修改、获取等接口

    5.去掉guns自身携带的用户名密码验证机制,使用UserAPI登录接口,修改jwt返回里包含userid信息,修改返回类型vo

    6.增加ThreadLocal保存用户信息,当做session使用

    7.user项目,用户模块开发,dao生成,服务开发

    8.gateway项目,用户接口开发

    9.用户相关接口测试

    10.dubbo启动性检查 check=false(开发时可用,线上不建议)

    11.dubbo负载均衡 

  • 相关阅读:
    java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z
    安装oracle后java -version命令显示 jdk version "1.3.1"的原因
    jquery 获取和设置Select选项常用方法总结
    select动态增加option
    Jquery detect page refresh
    HibernateTemplate 查询
    The dialect was not set. Set the property hibernate.dialect
    hibernate的异常 Session was already closed
    <c:forEach>取得集合数量
    Jstl标签<c:forEach>的用法
  • 原文地址:https://www.cnblogs.com/yyh19890221/p/10697435.html
Copyright © 2020-2023  润新知