RESTEasy中的通用异常处理ExceptionMapper

  • 时间:
  • 浏览:1
  • 来源:uu快3下载网址_uu快3IOS下载_电脑版

在你你这俩接口中,亲戚亲戚人们 儿并越来越对异常做特殊避免,也越来越catch有一个Exception异常,仅仅是把异常抛出,而所有的异常避免都集中在了MyApplicationExceptionHandler中。

在任何框架中也有 可避免的涉及到异常避免,Restful框架也是越来越。按照亲戚亲戚人们 儿一般传统异常避免方法,在Restful的最外层,亲戚亲戚人们 儿一般会对所有的业务调用都添加try catch,以免异常被用户接收到,比如亲戚亲戚人们 儿有越来越有一个Restful服务:

亲戚亲戚人们 儿测一下你你这俩接口,首先亲戚亲戚人们 儿写有一个合法的请求:

底下UserApi接口中的getUserBId()方法调用了userService.getUser()服务,你你这俩服务会抛出你这俩异常,UserApi才能 捕获异常并返回客户的有一个错误的响应。还有你这俩亲戚亲戚人们 儿一般会在API层catch有一个Exception异常,也而是捕获所有肯能处在的异常具体情况,以免前端再次经常出现不友好的错误提示。

越来越做也没哪此间题图片,有日后亲戚亲戚人们 儿的接口越来越多是有一个,每个接口才能 进行try catch来避免异常,越来越做显然不符合亲戚亲戚人们 儿的编程思想,亲戚亲戚人们 儿希望把所有异常集中到有一个地方避免。

底下的ExceptionMapper的实现肯能写好了,下面亲戚亲戚人们 儿写个Restful API来测试下:

http://localhost:30003000/RESTEasyExceptionMapperDemo/rest/users/1

亲戚亲戚人们 儿再写有一个不合法的请求,请求的参数是个字符串而也有 数值:

http://localhost:30003000/RESTEasyExceptionMapperDemo/rest/users/abc

肯能亲戚亲戚人们 儿的Restful框架是基于RESTEasy的,越来越亲戚亲戚人们 儿就还才能 使用ExceptionMapper来实现有一个通用异常避免类。

ExceptionMapper是provider的有一个协议,它会将Java的异常映射到Response对象。好多好多 要进行通用异常避免,亲戚亲戚人们 儿只才能 写有一个类来实现ExceptionMapper接口,并把它声明为有一个provider即可:

RESTEasy是JBoss提供的有一个Restful基础框架,使用它亲戚亲戚人们 儿还才能 很方便的构建亲戚亲戚人们 儿的Restful服务,有日后它也完整符合Java的JAX-RS2.0标准,好多好多 第三方Restful框架也也有 基于RESTEasy开发的。