Feign介绍
- (1)Feign的音标
美[feɪn] 假装,装作,佯装 - (2)Feign是什么?
Feign开源库,编写 Http请求 - (3)Feign有什么用?
Feign makes writing java http clients easier
s让编写Http请求更容易
,简化拼接url,拼接参数等等操作 - (4)项目主页:https://github.com/OpenFeign/feign
Feign使用
- 导入启动器依赖;
- 开启Feign功能;
- 编写Feign客户端; 本质上是一个接口,Feign会生成实现类
- 编写一个处理器ConsumerFeignController,注入Feign客户端并使用;
- 测试
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
开启
@EnableFeignClients
@SpringCloudApplication
public class Demo02ConsumerUser81Application
接口
@FeignClient("demo01-provider-user")
public interface UserClient {
@GetMapping("/users/{id}")
User callProvider(@PathVariable long id);
}
CustomerController2
@RestController
@RequestMapping("/feign")
@Slf4j
public class CustomerController2 {
@Autowired
UserClient userClient;
@RequestMapping(path = "/{id}", method = RequestMethod.GET)
public Object get(@PathVariable long id) throws InterruptedException {
User user = userClient.callProvider(id);
return user;
}
}