我需要确定是否应该通过特定过滤器过滤请求的API?
常识是将请求网址拆分为斜线以获取准确的界面,然后将其与预设的网址列表进行比较,还有其他方法吗?
答案 0 :(得分:0)
您可以在过滤器中serviceId
使用RequestContext
属性,并在过滤器的shouldFilter()
方法中查看,如下所示。如果您的过滤器为pre
过滤器,则过滤器顺序的值必须大于PreDecorationFilater
的值。目前它是5.
@Override
public int filterOrder() {
return 10;
}
@Override
public boolean shouldFilter() {
RequestContext ctx = RequestContext.getCurrentContext();
if ((ctx.get("serviceId") != null) && ctx.get("serviceId").equals("service_id_that_you_want_to_handle")) {
return true;
}
return false;
}
您应该知道的一件事是,如果您指定的是网址而不是使用eureka,则应使用proxy
中的RequestContext
属性而不是serviceId
。