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

前言

当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

@Configuration
@ConditionalOnClass({
    
    Feign.class})
public class FeignConfig {
    
    
    @Bean
    public WebMvcRegistrations feignWebRegistrations() {
    
    
        return new WebMvcRegistrations() {
    
    
            @Override
            public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
    
    
                return new FeignRequestMappingHandlerMapping();
            }
        };
    }

    private static class FeignRequestMappingHandlerMapping extends RequestMappingHandlerMapping {
    
    
        @Override
        protected boolean isHandler(Class<?> beanType) {
    
    
            return super.isHandler(beanType) &&
                    !AnnotatedElementUtils.hasAnnotation(beanType, FeignClient.class);
        }
    }
}

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

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

待补充

猜你喜欢

转载自blog.csdn.net/s1441101265/article/details/111993711
今日推荐