亲宝软件园·资讯

展开

feign调用接口调不到get方法

菜鸟的自我素养 人气:0

feign调用接口调不到get方法

记录今天在使用springcloud的feign调用接口时踩的坑。

调用的方法是get方法时调用不到接口的问题

1.feign调用时默认的请求方式是post请求,所以如果是要调用的请求为get请求,并且有参数传递时的解决方法:

(1)在调用的接口上需要给参数添加@RequestParam注解

@RequestMapping(value = “/cust-archives”, method = RequestMethod.GET)
public List query(@RequestParam String queryCust,@RequestHeader(name=“Range”,required=true)String range) throws Exception;

(2)被调用的接口的参数使用restful风格的形式直接拼接参数,给调用接口的参数添加@PathVariable注解,

(3)使用json传值的方式进行数据传输,给调用的方法的参数添加RequestBody

(4)如果需要传请求头信息,需要在调用的接口中添加一个参数,并给参数加上@RequestHeader(name=“Range”,required=true)注解

例如:

@RequestHeader(name=“Range”,required=true)String range

feign调用拿不到数据

看着是没事问题,代码也是和user service一样但是就是拿不到数据,直接调用又可以

@PostMapping("/getUserById")
BaseResponse<User> getUserById(Integer id);

要加 @RequestParam就好了

@PostMapping("/getUserById")
BaseResponse<User> getUserById(@RequestParam("id") Integer id);

@RequestParam比起 @PathVariable更加坑,@PathVariable启动会报错,@RequestParam则是默默无声

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论