我想按照以下方式设置resteasy cors过滤器(如果重要的话,我也会使用spring):
@Provider
@Component
public class CorsConfiguration implements Feature {
@Override
public boolean configure(FeatureContext context) {
CorsFilter corsFilter = new CorsFilter();
corsFilter.getAllowedOrigins().add("*");
context.register(corsFilter);
return true;
}
}
它正常工作。我的问题是我只想为某些API启用CORS,而且我没有在CorsFilter类中看到任何关于URL的配置。我不是在询问允许的Origins,而是要求允许CORS的URL。
我尝试创建一个匿名的内部类,但由于某种原因,整个过程停止了工作:
@Provider
@Component
public class CorsConfiguration implements Feature {
@Override
public boolean configure(FeatureContext context) {
CorsFilter corsFilter = new CorsFilter() {
@Override
protected void preflight(String origin, javax.ws.rs.container.ContainerRequestContext requestContext) throws IOException {
//check requestContext URI info here..
//call super method
super.preflight(origin, requestContext);
}
};
corsFilter.getAllowedOrigins().add("*");
context.register(corsFilter);
return true;
}
}
我确实设法在不使用resteasy CorsFilter类的情况下做我想做的事情,而是为我想要的URL定义一个@OPTIONS api端点。但是想知道是否可以用上面提到的方法来做到这一点。
由于