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

Posted 落尽难寻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用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负载均衡 

 

以上是关于应用Dubbo框架打造仿猫眼项目 用户模块开发的主要内容,如果未能解决你的问题,请参考以下文章

打造仿猫眼项目 以Dubbo为核心解锁微服务 高清无密 百度网盘

打造仿猫眼项目 以Dubbo为核心解锁微服务

打造仿猫眼项目 以Dubbo为核心解锁微服务

打造仿猫眼项目 以Dubbo为核心解锁微服务视频教程

影院在线售票云平台(仿猫眼电影,附SpringBoot项目源码) 系统功能实现

高仿猫眼电影选座(选票)模块-b