如何抓住泽西岛406不可接受

时间:2013-02-24 03:04:35

标签: jersey

当客户端请求不可接受的MIME类型时,如何防止Jersey在客户端上喷出HTML页面?我想使用ExceptionMapper,但我不确定要捕获的异常,或者这是处理406的最佳方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否可以控制客户端?

您的客户端接受MIME类型列表。如果您的服务器无法生成所请求的MIME类型,则返回406 HTTP是有意义的。您还希望服务器做什么?

如果您知道客户端请求的MIME类型,并且如果服务器端的方法能够生成所请求的类型,则可以修改@Produces注释以允许服务器提供所需的内容。

编辑:我手边没有一个简单的解决方案(可能涉及ContainerRequestFilter),但是如果你使用tomcat,但是设置一个自定义错误页面,可能你可以非常简单地使用简单的内容

<error-page>
    <error-code>406</error-code>
    <location>whatever you want</location>
</error-page>