如何使用 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
我已按照此 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