一: 调用微服务的客户端注解 @FeignClient
参考: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-ribbon-without-eureka
说明:
1、注解中写的微服务实例名应该可以配置
2、这里面的StoreInfoClient名字取的是否有问题? 现在是按照每个微服务来划分Client还是按照每个微服务中的Control来划分微服务? 按照正常逻辑的话应该是按
照微服务来命名Client, 然而现在系统中同时存在两种划分方式,是否可以统一下。
二: 聚合层调用微服务的方式
说明:
1、红框中的路由是否可以用自动化的方式生成,如果微服务端控制器名/方法名改变的话每次这里面也的跟着修改么? 而且手动更改的话出错的情况太高!
三: 聚合中调用微服务中代码
说明:
1、红框中的错误表示的是从微服务中调用出错然后直接返回给前端,这种情景在系统中会出现很多,可以把这类问题情况封装下,以便减少写多余的代码!
说明:
1、红框中如果因为网络问题调用微服务出现异常的话应该需要做处理, 在框架层面上应该需要统一进行处理!
2、整个函数如果调用异常的话应该需要用切面统一捕捉异常
说明:
1、这坨代码应该不需要, 直接在每个Client上标记 @Autowired 注解就应该可以!
五: 聚合层中DTO
说明:
1、聚合层中的DTO的POJO中的字段可以直接定义为Public 不用写 get;set 方法, 应该DTO中的类主要是用来和前端交互用,不是真正的数据库实体,用不着加访问
控制。