Jersey框架为我们提供了更为通用异常处理方式。通过实现ExceptionMapper接口并使用@Provider注解将其定义为一个Provider,可以实现通用的异常的面向切面处理,而非针对某一个资源方法的异常处理。

示例:

@Provider

public class EntityNoFoundMapper implements ExceptionMapper<Jaxrs2GuideNotFoundException>{

    @Override

    public Response toResponse(final Jaxs2GuideNotFoundException ex){

       return Response.status(404).entity(ex.getMessage()).type("text/plain").build();

   }

}

EntityNotFoundMapper实现了ExceptionMapper接口,并提供了泛型类型为前面刚定义的Jaxrs2GuideNotFoundException类,当响应中发生了Jaxrs2GuideNotFoundException类型的异常时,响应流程就会被拦截并补充HTTP状态码和异常消息,以文本作为媒体格式返回给客户端。

相关文章:

  • 2021-09-29
  • 2021-10-02
  • 2021-10-02
  • 2020-06-28
  • 2021-08-03
  • 2021-10-17
  • 2021-12-05
猜你喜欢
  • 2021-09-29
  • 2021-10-09
  • 2021-09-13
  • 2021-09-29
相关资源
相似解决方案