为解决feign服务端修改了接口,调用方没相对于修改导致功能异常问题以及解决feign客户端、DTO、VO每个调用方都写一遍的问题,现对feign客户端的编写重新定义规范,之前由各个服务自行编写client,现调整为服务端提供client,各个服务直接引入相对应的jar包即可,提供的client提供相对应的服务接口、VO、DTO。
详情请看 项目结构 新建相对应的服务项目
建议feign 包下面的路径跟服务项目的controller 的项目目录保持一致
客户端项目目录如下
java
└── cn
└── com
└── tcc
└── ofa
└── admin(模块名)
├── config (java配置类)
├── model
│ ├── dto(Data Transfer Object,数据传输对象)
│ └── vo(View Object,显示层对象)
├── feign(feign client 接口)
| └── fallback(feign fallback实现类)
└── utils(工具类)
服务端引入client 为了统一使用dto、vo
<dependency>
<groupId>com.tcsoft</groupId>
<artifactId>xxx-service-client</artifactId>
<version>xxxx</version>
</dependency>
调用方引入client
<dependency>
<groupId>com.tcsoft</groupId>
<artifactId>xxx-service-client</artifactId>
<version>xxxx</version>
</dependency>
项目结构图
服务端引入
调用方引入
编写feign客户端代码
调用方代码直接调用接口