RESTEasy中的通用异常处理ExceptionMapper

  • 时间:
  • 浏览:2
  • 来源:爱乐彩网站_爱乐彩下载_爱乐彩官网

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

在任何框架中还会可避免的涉及到异常避免,Restful框架也是这样。按照许多人一般传统异常避免方式,在Restful的最外层,许多人一般会对所有的业务调用都加进去去try catch,以免异常被用户接收到,比如许多人有这样另另一个 Restful服务:

许多人再写另另一个 不合法的请求,请求的参数是个字符串而还会数值:

可能许多人的Restful框架是基于RESTEasy的,这样许多人就可不还可不可以不能使用ExceptionMapper来实现另另一个 通用异常避免类。

这样做也这样哪些问题图片,否则许多人的接口不好多好多 另另一个 ,每个接口需要进行try catch来避免异常,这样做显然不符合许多人的编程思想,许多人希望把所有异常集中到另另一个 地方避免。

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

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

RESTEasy是JBoss提供的另另一个 Restful基础框架,使用它许多人可不还可不可以不能很方便的构建许多人的Restful服务,否则它也全部符合Java的JAX-RS2.0标准,好多好多 第三方Restful框架也还会基于RESTEasy开发的。

里边的ExceptionMapper的实现可能写好了,下面许多人写个Restful API来测试下:

在什儿 接口中,许多人并这样对异常做特殊避免,也这样catch另另一个 Exception异常,仅仅是把异常抛出,而所有的异常避免都集中在了MyApplicationExceptionHandler中。

里边UserApi接口中的getUserBId()方式调用了userService.getUser()服务,什儿 服务会抛出许多异常,UserApi需要捕获异常并返回客户的另另一个 错误的响应。还有许多许多人一般会在API层catch另另一个 Exception异常,也好多好多 捕获所有可能发生的异常状态,以免前端突然跳出不友好的错误提示。

许多人测一下什儿 接口,首先许多人写另另一个 合法的请求: