在使用feign接口的时候 ,请求出现了405的情况,分析原因如下
看异常信息,应该是请求方式不对, 请求方式就是get;
如果请求方式也正确,检查下feign请求参数,看是否缺少@RequestParam注解:以下是我请求参数
找了半天发现注解用错了
@PathVariable是获取请求路径中的变量作为参数
/需要和@RequestMapping("item/{itemId}")配合使用
FeignClient最后是用HttpURLConnectiion发起的网络连接,在发起的过程中,Connection会判断其自身的body是否为空,如果不为空,则将 GET Method 转换为 POST Method 所以请求错误了 看到服务端接收到的请求也是post的,以致这个问题。
OpenFeign需要@RequestMapping、@RequestParam、@PathVariable、@RequestHeader等来构造http请求。
此处通过添加@RequestParam(“name”)解决。