方案一:实现ExceptionMapper接口类,并配置到providers中。
public class ServiceExceptionMapper implements ExceptionMapper<RuntimeException> { private Logger log = Logger.getLogger(ServiceExceptionMapper.class); @Override public Response toResponse(RuntimeException ex) { log.error("error", ex); ExceptionResponseEntity entity = new ExceptionResponseEntity(); entity.setCode("error"); entity.setMessage(ex.getMessage()); //entity.setDetails(getStackTraceString(ex)); String contentType = "application/json; charset=UTF-8"; ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR); builder.type(contentType); builder.entity(entity); builder.language(Locale.SIMPLIFIED_CHINESE); Response res = builder.build(); return res; } private String getStackTraceString(RuntimeException ex){ StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); return sw.toString(); } }
注意:默认情况下entity中的中文内容是以iso-8859-1字符编码返回的,客户端显示可能会出现乱码,需要做编码转换处理。
<bean id="serviceExceptionMapper" class="com.xxx.ServiceExceptionMapper"/> <jaxrs:server id="serviceContainer" address="/"> <jaxrs:serviceBeans> </jaxrs:serviceBeans> <jaxrs:providers> <ref bean="jaxbProvider" /> <ref bean="jsonProvider" /> <ref bean="serviceExceptionMapper" /> </jaxrs:providers> </jaxrs:server>
相关推荐
Spring CXF Restful 实例
CXF Restful服务简单例子
未引用spring, 单纯cxf restful 使用,只写了返回json数据的一个简单get请求例子
使用Spring整合CXF发布RESTFul项目案例(包含代码)
主要包括cxf开发webservice的配置,使用maven 构建项目。
使用cxf创建restful风格的web service
CXF Restful + Spring3 + Mybatis 后台开发环境搭建
采用spring 结合cxf 发布一个RestFul接口。 http请求,soap均可调用。
附件是一个使用CXF 实现 RESTful Webservice 完整 CRUD 实例,使用 HashMap 来模拟数据库,可以直接运行,具体使用可以参考其中的 readme;仅供有兴趣的初学者参考。
cxf restful文档
cxf集成Spring的restful WebServ ice接口,Demo的完整代码!
spring整合cxf实现restful的webservice服务,代码分为服务端和客户端两个模块;服务端为接口,客户端为接口调用。
用CXF开发RESTful风格WebService.doc
NULL 博文链接:https://reymont.iteye.com/blog/1523822
SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验 本实验的主要目标是使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验。下面是实验的详细介绍: 标题...
Restful Web Service开发可供参考
spring,cxf,restful发布webservice传递复杂对象,例如List,Map,List<Map>
利用CXF3.0.2+Spring3.2.14发布RESTFul,有源代码可以下载!
spring + cxf + restful 方便初学者很快上手。 采用post和get请求两种方式。,