小编Saš*_*šo5的帖子

如何在JAX-RS ExceptionMapper中获取响应的内容类型

我有一个资源:

@GET
@Path("/print-order")
@Produces("application/pdf")
public byte[] printOrder(@QueryParam("id") Long orderId) {
    return ...;
}
Run Code Online (Sandbox Code Playgroud)

...这可能会引发与用户相关的错误,并且必须显示为HTML页面。所以我实现了一个,ExceptionMapper但我不知道如何获取@Produces("application/pdf")被调用资源的注释的值。

@Provider
public class CustomExceptionMapper implements ExceptionMapper<CustomException> {
    @Override
    public Response toResponse(CustomException exception) {
        if (contentType = "application/pdf")
            ... html respone
        else
            ... entity response
    }
}
Run Code Online (Sandbox Code Playgroud)

我在Jersy 1.12实现中使用JAX-RS 1.x(jsr311),但希望拥有独立于实现的解决方案。

java servlets jax-rs custom-exceptions

2
推荐指数
1
解决办法
659
查看次数

标签 统计

custom-exceptions ×1

java ×1

jax-rs ×1

servlets ×1