如何在 CXF 中使用 javax.ws.rs.core.Feature?
How to use javax.ws.rs.core.Feature with CXF?
我想使用我用 CXF 创建的 JAX-RS 功能。
如果可能,我更愿意使用 JAX-RS 功能 (javax.ws.rs.core.Feature
) 而不是 CXF 功能 (org.apache.cxf.feature.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()
从未被调用。
已创建工单https://issues.apache.org/jira/browse/CXF-6879
我的代码在发布时应该可以在 CXF 3.1.7 中运行。
的 CXF 3.1.7-SNAPSHOT 或 CXF 3.2.0-SNAPSHOT,它现在可以正常工作
我想使用我用 CXF 创建的 JAX-RS 功能。
如果可能,我更愿意使用 JAX-RS 功能 (javax.ws.rs.core.Feature
) 而不是 CXF 功能 (org.apache.cxf.feature.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()
从未被调用。
已创建工单https://issues.apache.org/jira/browse/CXF-6879 我的代码在发布时应该可以在 CXF 3.1.7 中运行。
的 CXF 3.1.7-SNAPSHOT 或 CXF 3.2.0-SNAPSHOT,它现在可以正常工作