问题
spring cloud alibaba 2.2.1.RELEASE 版本时候想要自定义Restful请求的资源,自定义个url清理器UrlCleaner ,但是请求接口 /getUserById/{id}控制台死活不显示资源。并且无法打印url
public class MyCustomUrlClean implements UrlCleaner {
@Override
public String clean(String originUrl) {
if (StringUtils.isEmpty(originUrl)) {
return originUrl;
}
log.info(originUrl);
if (originUrl.startsWith("/getUserById")) {
return "/getUserById/{id}";
}
return originUrl;
}
}`
原因
sentinel-spring-webmvc-dapter , 基于 Spring 的 Interceptor 拦截资源,而不再是 CommonFilter


**默认拦截 *:/
解决
配置添加
spring:
cloud:
sentinel:
filter:
url-patterns: /**
本文探讨了在Spring Cloud Alibaba 2.2.1.RELEASE版本中使用Sentinel时遇到的问题,即自定义URL清理器UrlCleaner后,特定的RESTful请求资源未被正确处理。文中提供了一个示例代码,并解释了Sentinel使用Interceptor而非Filter来拦截资源的原因。最后给出了配置解决方案。
5万+

被折叠的 条评论
为什么被折叠?



