1.新建用户微服务模块,pom 文件和 course 基本差不多,但是由于 user 微服务要调用 course 微服务,所以需要加入 feign 依赖(可以以声明的方式调用微服务),和 hystrix 依赖(服务容错),即如下依赖
<!-- 引入Feign,可以以声明的方式调用微服务 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 引入服务容错hystrix的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
2.建立 user 微服务启动类,注意这里多了一些注解 @EnableFeignClients 和 @EnableCircuitBreaker 分别表示开始 feign 和 hystrix
5.实现 homepageUserCourse 类定义
8.实现 homepageUserCourseRepository
10.由于在 feign 调用过程中可能会出现错误,那么就需要用 hystrix 熔断降级策略,接下来定义 CourseClientHystrix,这个就是让这个类实现 client 接口,然后重新实现 feign 的方法,只不过返回的东西变成了在调用出错的时候你想返回的东西,在这里就返回的是一个 courseInfo 的 invalid 和一个空列表
里边还加入了基本的有效性验证,即 username 和 email 都不能为空
13.创建 userCourseInfo 对象
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于