什么是Feign?
个人理解就是服务内部调用关系实现通信,这一点跟restTemplete是一样的。并且feign底层实现了ribbon具有负载均衡。
Feign的使用
1.定义接口并且使用注解@FeignClient
2.定义接口方法(类似你需要调的controller方法)
例如:
@Controller
public class TestController{
@ResquestMapping(value="/userInfo/{id}") //可以直接使用GetMapping注解
public User getUser(@PathVariable String id){
//省略
return user;
}
}
Feign的编写:
@FeignClient(name="ServicesName")
public interface TestFeign{
@GetMapping("/userInfo/{id}")
User getUser(@PathVariable(name="id") String id); //需要指定参数一定要注意
Feign的调用
//注入feign接口依赖
@Autowired
private TestFifgn testFeign;
@PostMapping("/test")
@ResponseBody
public ResponseEntity feignController(){
User Testresult = testFeign.getUser(user.get(id));
return response.ok;
}