1.首先创建服务层接口 IUserService,里边包含了三个方法,即创建用户,根据 id 获取用户,和根据 id 获取用户和用户的课程信息
3.用户服务 controller 层
6.测试增加用户
@Test
@Transactional
public void testCreateUser() {
System.out.println(userService.createUser(
new CreateUserRequest("pkucoder", "pkucoder@qq.com")
));
}
@Transactional 是 org.springframework.transaction.annotation.Transactional 包下的,作用是测试用例执行完之后对数据库进行回滚
6.测试获取用户信息
//{"email":"pkucoder@qq.com","id":10,"username":"pkucoder"}
@Test
public void testGetUserInfo() {
System.out.println(JSON.toJSONString(
userService.getUserInfo(10L)
));
}
7.由于测试获取课程需要先启动课程服务,在单元测试中不好实现,所以需要在后续的 postman 中直接用 http 的方式去测试,所以在这里先预先加入一些 mock 数据,即增加 homepageUserCourse
@Test
public void testCreateHomepageUserCourse() {
HomepageUserCourse userCourse1 = new HomepageUserCourse();
userCourse1.setUserId(10L);
userCourse1.setCourseId(8L);
HomepageUserCourse userCourse2 = new HomepageUserCourse();
userCourse2.setUserId(10L);
userCourse2.setCourseId(9L);
System.out.println(userCourseRepository.saveAll(Arrays.asList(userCourse1, userCourse2)).size());
}
8.可用性测试之前的准备,配置网关服务,修改 zuul 的 application.yml
增加如下内容,
@1.prefix 的意思是所有的网关访问如下服务需要带上 chenforcode 的前缀,这个前缀可有可无
@2.course 和 user 是随便起的,但是尽量和服务相关
@3.path 代表所有带上这个前缀的服务都会被发送到 serviceId 所指定的服务中
@4.strip-prefix 代表是否去除请求的前缀,置为 false
zuul:
prefix: /chenforcode
routes:
course:
path: /homepage-course/**
serviceId: eureka-client-homepage-course
strip-prefix: false
user:
path: /homepage-user/**
serviceId: eureka-client-homepage-user
strip-prefix: false
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于