3

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

谢谢!

4

1 回答 1

1

您可以控制客户端吗?

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

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

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

<error-page>
    <error-code>406</error-code>
    <location>whatever you want</location>
</error-page>
于 2013-02-26T14:28:42.797 回答