【feign】当@feignClient设置了path时,无法调用到服务

妖狐艹你老母 2023-01-01 01:57 347阅读 0赞

前言

当feign api设置了path时,web端调用服务时会在前面添加这个path地址。
把每个服务比作controller,它就类似于@RequestMapping

解决办法

尝试按下面的方法解决,没成功
参考文章:https://segmentfault.com/q/1010000021551730/a-1020000021554252
我这边sb版本是2.2.7,在上面添加@RequestMapping注解报错,解决办法:
https://blog.csdn.net/weixin_42073629/article/details/107172107

  1. @Configuration
  2. @ConditionalOnClass({ Feign.class})
  3. public class FeignConfig {
  4. @Bean
  5. public WebMvcRegistrations feignWebRegistrations() {
  6. return new WebMvcRegistrations() {
  7. @Override
  8. public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
  9. return new FeignRequestMappingHandlerMapping();
  10. }
  11. };
  12. }
  13. private static class FeignRequestMappingHandlerMapping extends RequestMappingHandlerMapping {
  14. @Override
  15. protected boolean isHandler(Class<?> beanType) {
  16. return super.isHandler(beanType) &&
  17. !AnnotatedElementUtils.hasAnnotation(beanType, FeignClient.class);
  18. }
  19. }
  20. }

之所以把WebMvcRegistrationsAdapter换成了WebMvcRegistrations,原因:https://blog.csdn.net/weixin_34387284/article/details/93399783

没有成功:
在这里插入图片描述
第二次尝试
按这篇文档:https://www.cnblogs.com/LiangPF/p/10388080.html
它这个不推荐使用…其实就是在每一个地址前面分别都加一个
第三次
这是服务端
在这里插入图片描述
这是gateway
这里添加了filters 参数,意思是过滤地址前面两位。
在这里插入图片描述

待补充

发表评论

表情:
评论列表 (有 0 条评论,347人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringCloud 服务调用 Feign

    这节我们来实现下服务调用,之前在Ribbon中实现的时候,发现调用其他的服务还是需要通过RestTemplate来调用,现在既然所有的服务都注册到了SpringCloud中,那