springcloud中使用feign时该注意的几个问题

在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);
}

你可能感兴趣的:(springcloud)