当客户端请求不可接受的MIME类型时,如何防止Jersey在客户端上喷出HTML页面?我想使用ExceptionMapper
,但我不确定要捕获的异常,或者这是处理406的最佳方法。
谢谢!
答案 0 :(得分:1)
您是否可以控制客户端?
您的客户端接受MIME类型列表。如果您的服务器无法生成所请求的MIME类型,则返回406 HTTP是有意义的。您还希望服务器做什么?
如果您知道客户端请求的MIME类型,并且如果服务器端的方法能够生成所请求的类型,则可以修改@Produces注释以允许服务器提供所需的内容。
编辑:我手边没有一个简单的解决方案(可能涉及ContainerRequestFilter),但是如果你使用tomcat,但是设置一个自定义错误页面,可能你可以非常简单地使用简单的内容<error-page>
<error-code>406</error-code>
<location>whatever you want</location>
</error-page>