Feign是一个声明式的Web服务客户端(Web服务客户端就是Http客户端),让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。
其一般是在项目中进行声明使用。我认为这样做的缺点是使feign与项目强耦合。
我认为将feign提出做为一个单独module来处理是一个相对较好的解决方案。
以下是相关的代码:
1、pom中增加以下依赖
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> </dependencies>
2、定义client
@FeignClient(value = "userservice") public interface UserClient { @GetMapping("/user/{id}") User findById(@PathVariable("id") Long id); } client中相关的类也要声明 @Data public class User { private Long id; private String username; private String address; }
3、配置feign的日志输出级别(这步可以视情况而定)
public class DefaultFeignConfiguration { @Bean public Logger.Level logLevel(){ retu