在 CXF Spring 引导中注册过滤器
Register Filter in CXF Spring Boot
如何在 CXF 中注册 ContainerResponseFilter/ContainerRequestFilter?就像 Jersey 的 ResourceConfig.
@Provider
@Priority(value = 2)
public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
System.out.println("filtered");
}
}
如果您启用了 cxf 添加 属性 cxf.jaxrs.component-scan=true
那么您的资源和提供者都应该是应用程序上下文的一部分。因此用 @Service
或 @Component
注释。
@Component
@Provider
@Priority(value = 2)
public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
System.out.println("filtered");
}
}
如果您使用 类 扫描启用,请确保提供程序是您提供的软件包的一部分。
cxf.jaxrs.classes-scan=true
cxf.jaxrs.classes-scan-packages=yourpackage where provider is present.
如何在 CXF 中注册 ContainerResponseFilter/ContainerRequestFilter?就像 Jersey 的 ResourceConfig.
@Provider
@Priority(value = 2)
public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
System.out.println("filtered");
}
}
如果您启用了 cxf 添加 属性 cxf.jaxrs.component-scan=true
那么您的资源和提供者都应该是应用程序上下文的一部分。因此用 @Service
或 @Component
注释。
@Component
@Provider
@Priority(value = 2)
public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
System.out.println("filtered");
}
}
如果您使用 类 扫描启用,请确保提供程序是您提供的软件包的一部分。
cxf.jaxrs.classes-scan=true
cxf.jaxrs.classes-scan-packages=yourpackage where provider is present.