Java 如何在Jersey服务器中映射空指针异常
我有jersey客户端和jersey服务器。 对于自定义异常,我创建了一个实现 avax.ws.rs.ext.ExceptionMapper和我正在返回Java 如何在Jersey服务器中映射空指针异常,java,rest,jakarta-ee,jersey,jersey-client,Java,Rest,Jakarta Ee,Jersey,Jersey Client,我有jersey客户端和jersey服务器。 对于自定义异常,我创建了一个实现 avax.ws.rs.ext.ExceptionMapper和我正在返回 ErrorResponse errorResponse = new ErrorResponse(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorResponse).type( MediaType.APPLICATIO
ErrorResponse errorResponse = new ErrorResponse();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorResponse).type(
MediaType.APPLICATION_XML).build();
现在在客户机中,我的做法如下
if (response.getStatus() == Status.OK.getStatusCode()) {
CustomeResponse cresponse = response
.getEntity(CustomeResponse.class);
}else{
ErrorResponse errorResponse = response
.getEntity(ErrorResponse.class);
throw new CustomException(errorResponse.getErrorMessage(),
errorResponse.getErrorCode());
}
但是,每当我的服务器出现空指针异常时,我就会在客户机中得到下面的异常
Aug 19, 2014 12:03:37 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: A message body reader for Java class com.custom.exception.ErrorResponse, and Java type class com.custom.exception.ErrorResponse, and MIME media type text/html; charset=utf-8 was not found
Aug 19, 2014 12:03:37 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: The registered message body readers compatible with the MIME media type are:
*/* ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider
com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
Aug 19, 2014 12:03:37 PM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
我可以映射空指针和其他运行时异常以在客户端抛出有用的错误代码吗。
请提供帮助和建议。您使用的是什么版本的Jersey以及什么序列化程序?Jersey在2.6之前的版本中使用MOXy时出现了一些错误。您好,我能够通过创建运行时异常的提供程序来克服这个问题。我使用的是1.1.17。