Java 处理来自CXF FaultOutInterceptor的XML和JSON响应
正如我所注意到的,在我的Java 处理来自CXF FaultOutInterceptor的XML和JSON响应,java,cxf,handler,jax-rs,interceptor,Java,Cxf,Handler,Jax Rs,Interceptor,正如我所注意到的,在我的CXF-JaxRS服务中,如果我在say读取阶段(在拦截器中)抛出一个异常,并且没有提供任何默认的FaultOutInterceptor,那么XMLFaultOutInterceptor将负责构建应该返回的响应(它始终是一个XML) 现在,我希望能够以请求服务的格式返回响应:JSON或XML或其他格式 我在网上发现了这样的东西: public class JsonFaultOutHandlerInterceptor extends JAXRSOutInterceptor
CXF-JaxRS服务中
,如果我在say读取阶段
(在拦截器中
)抛出一个异常,并且没有提供任何默认的FaultOutInterceptor
,那么XMLFaultOutInterceptor
将负责构建应该返回的响应(它始终是一个XML)
现在,我希望能够以请求服务的格式返回响应:JSON或XML或其他格式
我在网上发现了这样的东西:
public class JsonFaultOutHandlerInterceptor extends JAXRSOutInterceptor
{
public JsonFaultOutHandlerInterceptor() {
getBefore().add(LoggingOutInterceptor.class.getName());
}
@Override
public void handleMessage(Message message) {
...
message.getInterceptorChain().abort();
}
}
我已经在outiterceptor
中配置了它,我应该有条件地中止(如果请求类型是application/Json
)还是不中止(如果请求类型是application/xml
)拦截器链?(我不确定请求类型信息是否已经可用。而且,不知何故,中止该链似乎不太正确)
如果响应到达JAXRS过滤器
,使用exceptionapper
我会很好地处理响应。但是,当Interceptor中的发生异常时,我有点不知所措
定义FaultOutInterceptor
的好方法是什么