RESTEasy中的通用异常处理ExceptionMapper

  • 时间:
  • 浏览:10

可能性亲们 的Restful框架是基于RESTEasy的,那么亲们 就能能 使用ExceptionMapper来实现三个 通用异常防止类。

在你你这个接口中,亲们 并那么对异常做特殊防止,也那么catch三个 Exception异常,仅仅是把异常抛出,而所有的异常防止都集中在了MyApplicationExceptionHandler中。

RESTEasy是JBoss提供的三个 Restful基础框架,使用它亲们 能能 很方便的构建亲们 的Restful服务,或者它也详细符合Java的JAX-RS2.0标准,一些一些第三方Restful框架也一定会基于RESTEasy开发的。

后面 UserApi接口中的getUserBId()最好的法律措施调用了userService.getUser()服务,你你这个服务会抛出一些异常,UserApi需用捕获异常并返回客户的三个 错误的响应。还有一些亲们 一般会在API层catch三个 Exception异常,也可是捕获所有可能性位于的异常清况 ,以免前端跳出不友好的错误提示。

在任何框架中一定会可防止的涉及到异常防止,Restful框架也是那么。按照亲们 一般传统异常防止最好的法律措施,在Restful的最外层,亲们 一般会对所有的业务调用都加上try catch,以免异常被用户接收到,比如亲们 有那么三个 Restful服务:

亲们 测一下你你这个接口,首先亲们 写三个 合法的请求:

亲们 再写三个 不合法的请求,请求的参数是个字符串而一定会数值:

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

ExceptionMapper是provider的三个 协议,它会将Java的异常映射到Response对象。一些一些要进行通用异常防止,亲们 只需用写三个 类来实现ExceptionMapper接口,并把它声明为三个 provider即可:

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

后面 的ExceptionMapper的实现可能性写好了,下面亲们 写个Restful API来测试下:

那么做也没哪些地方问提图片,或者亲们 的接口不可是三个 ,每个接口需用进行try catch来防止异常,那么做显然不符合亲们 的编程思想,亲们 希望把所有异常集中到三个 地方防止。