2017-07-14 7 views
0

CXFにContainerResponseFilter/ContainerRequestFilterを登録するにはどうすればよいですか? JerseyのResourceConfigと同様です。CXFスプリングブートのレジスタフィルタ

@Provider 
@Priority(value = 2) 
public class CorsResponseFilter implements ContainerResponseFilter { 

    @Override 
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) 
      throws IOException { 

     System.out.println("filtered"); 
    } 

} 

答えて

1

あなたが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. 
関連する問題