【feign】当@feignClient设置了path时,无法调用到服务
前言当feign api设置了name时,gateway拦截不到代码feign apiweb端调用feign== gateway配置==解决办法待补充
·
前言
当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 参数,意思是过滤地址前面两位。
待补充
更多推荐
已为社区贡献4条内容
所有评论(0)