2016-04-25 8 views
3

CXFで作成したJAX-RS機能を使用したいと思います。CXFでjavax.ws.rs.core.Featureを使用するには?

可能であれば、CXF機能(org.apache.cxf.feature.Feature)ではなくJAX-RS機能(javax.ws.rs.core.Feature)を使用することをお勧めします。 また、サーバーファクトリを手動で作成するのではなく、SpringComponentScanServer(org.apache.cxf.jaxrs.spring.SpringComponentScanServer)を使用してCXFを構成することをお勧めします。ここで

は、私はCXFを設定しようとした方法である:ここでは

import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; 
import com.mycustomapp.restexception.providers.RestExceptionFeature; 
import org.apache.cxf.jaxrs.spring.SpringComponentScanServer; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.annotation.Import; 

@Configuration 
@Import(SpringComponentScanServer.class) 
public class CxfConfiguration 
{ 
    @Bean 
    public RestExceptionFeature restExceptionFeature() 
    { 
     return new RestExceptionFeature(); 
    } 

    @Bean 
    public JacksonJsonProvider jacksonJsonProvider() 
    { 
     return new JacksonJsonProvider(); 
    } 
} 

は私のカスタム機能である:

import javax.ws.rs.core.Feature; 
import javax.ws.rs.core.FeatureContext; 
import javax.ws.rs.ext.Provider; 

@Provider 
public class RestExceptionFeature implements Feature 
{ 
    @Override 
    public boolean configure(FeatureContext context) 
    { 
     context.register(RestExceptionBodyReader.class); 
     context.register(RestExceptionMapper.class); 
     context.register(RestExceptionCxfClientMapper.class); 

     return true; 
    } 
} 

RestExceptionFeature.configure()が呼び出されることはありません。

答えて

関連する問題