如何使用 JAVA 在 CXF Restful Web 服务中包含异常处理机制

How to include exceptional handling mechanism in CXF Restful WebServices using JAVA

我已按照此 link 构建我的 CXF Restful Web 服务 URL 。 我正在尝试处理这些网络服务中的异常。

谁能给我一些关于如何在我的网络服务中包含特殊处理机制的建议 link。

我们正在做以下事情:

@Component
public class ThrowableInterceptor
  implements ExceptionMapper<Throwable>
{
  private static final Logger logger = LoggerFactory.getLogger( ThrowableInterceptor.class );

  @Override
  public Response toResponse( Throwable exception )
  {
   logger.error(
      "Exception with caught", exception );
    ErrorResponse errorResponse = new ErrorResponse(
      ServiceErrorCodes.GENERAL_ERROR.getErrorCode(), "unknown error" );
    return Response.status( Response.Status.INTERNAL_SERVER_ERROR )
      .type( MediaType.APPLICATION_JSON_TYPE )
      .entity( errorResponse )
      .build();
  }
}

如您所见,有 ExceptionMapper,如果抛出一些 Throwable,它将转到此拦截器并将包装到自定义 ErrorResponse。您可以使用这种方法并自定义任何异常处理,即 validationException、dataAccessException e.t.c