在springcloud中使用feign,定义feignclient的接口方法时,我们需要注意:
1、GetMapping这个注解不被支持。
public interface MyFeignClient{
@GetMapping(value="mypath") //该方法执行会报错
public String getMyInfo();
}
2、PathVariable必须要设置value。
public interface MyFeignClient{
@RequestMapping(value="mypath",method=RequestMethod.GET)
public String getMyInfo(@PathVariable("id") Long id);
//该方法不能写成getMyInfo(@PathVariable Long id),否则执行会报错
}
3、请求方法的参数是复杂对象时,即使指定了Get方法,feign依然会以Post方式发送请求。
public interface MyFeignClient{
@RequestMapping(value="mypath",method=RequestMethod.GET)
public String getMyInfo(UserBean user);
//该方法的参数使用UserBean对象,虽然指定了GET,但还是会以POST方式执行
//参数值较多的时候,可以这样写getMyInfo(RequestParam("id","name") Long id,String name);
}