导入依赖,版本由spring cloud统一管理,不许配置
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
新建接口来调用服务
该服务的名称
@FeignClient(name = "user-center")
调用该服务的接口及请求方式
@GetMapping("/users/{id}")
@FeignClient(name = "user-center") public interface UserCenterFeignClient { /** * 当调用findById时会构造http://user-center/users/{id} * @param id * @return */ @GetMapping("/users/{id}") UserDTO findUserById(@PathVariable Integer id);
当需要传多个参数
@SpringQueryMap
get请求需要用到该注解,post以及其他请求写法不变
@FeignClient(name = "user-center") public interface TestUserCenterFeignClient { @GetMapping("/q") UserDTO query(@SpringQueryMap UserDTO userDTO); }
# 开启feign的日志打印(细粒度配置) # java代码形式 logging: level: com.itmuch.usercenter.feignClient.UserCenterFeignClient: debug # 配置文件形式(建议) feign: client: config: default:(全局配置) LoggerLevel: full # 想要调用的微服务名称 # user-center:(细粒度配置) # LoggerLevel: full