当我在我的服务中抛出如下WebApplicationException时,我得到一个 404 响应代码,这是我所期望的
throw new WebApplicationException(Response.Status.NOT_FOUND);
当我尝试通过ResponseBuilder在我的异常中添加更多信息时,我得到一个 500 响应代码。这是我的增强代码和我得到的响应消息:
List<Error> errors = new ArrayList<>();
errors.add(new Error(ErrorCode.PDF_GENERATION_ERROR));
ErrorResponse errResponse = new ErrorResponse();
errResponse.setErrors(errors);
throw new WebApplicationException(Response.status(Response.Status.NOT_FOUND).entity(errResponse).build());
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageExceptio n:Java 类 idexx.ordering.rest.common.types.ErrorRe sponse 和 Java 类型类 idexx.ordering.rest.common 的消息体编写器.types.ErrorResponse,并且未找到 MIME 媒体类型应用程序/八位字节流
我的 REST 服务具有以下方法签名:
@Produces("application/pdf")
@GET
@Path("/{id}")
public Response getPdfById(@PathParam("id") final Long id) {
无论如何,当我抛出 WebApplicationException 时,我可以在响应中获取额外的错误代码信息吗?