记录一次自己练习OpenFeign(Feign)时遇到的问题,并搜索相关资料
场景:自己使用gateway进行路由转发->controller->service,其中controller到service是使用Feign作为桥梁连接
OpenFeign定义:
@FeignClient(name = “td-service-client”)
public interface UserFeignClient {
@RequestMapping(value = “/foo”, method = RequestMethod.GET)
public String foo(String foo);
}
复制代码
问题:无参传递的时候,调用时没有任何问题的,当有参传递时,就出现了一下异常
feign.FeignException$MethodNotAllowed: status 405 reading UserFeignClient#foo(String)
复制代码
其中,我的gateway时如下简单配置路由的
routes:
– id: neo_route
uri: http://localhost:8081
filters:
– AddRequestParameter=foo,bar
predicates:
– Method=GET
复制代码
解决方法:明明定义的是GET请求,结果在发起service to service call时,被转换成了POST请求。