前言

当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 参数,意思是过滤地址前面两位。
在这里插入图片描述

待补充

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐