当前位置: 首页 > 知识库问答 >
问题:

如何抓住球衣406不可接受

鲁华茂
2023-03-14

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

谢啦!

共有1个答案

尉迟阳煦
2023-03-14

你能控制客户端吗?

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

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

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

<error-page>
    <error-code>406</error-code>
    <location>whatever you want</location>
</error-page>
 类似资料:
  • 问题内容: 我正在尝试生成一个简单的JSON响应。现在,我收到406 Not Acceptable错误。Tomcat说:“此请求标识的资源只能根据请求“接受”标头生成特性不可接受的响应。” 即使我的标题是 在tomcat / lib中,我拥有所有的Tomcat jar,Spring jar和jackson-all-1.9.0.jar。我在Tomcat 7中使用Spring 3.2.2。 我知道这个

  • 我正在尝试生成一个简单的JSON响应工作。现在我收到406不接受错误。Tomcat说“此请求标识的资源仅能够根据请求“接受”标头生成具有不可接受特征的响应。”即使我的标头是 在tomcat/lib中,我有所有的tomcat罐子、Spring罐子和jackson-all-1.9.0。罐子我将Spring 3.2.2用于Tomcat 7。 我知道这个问题已经讨论过很多次了,但是没有一个解决方案对我有用

  • 我对投球的尝试/接球感到困惑。函数中有两个可能的IOExceptions。一,我想抓住并继续。另一个我想抛出一个异常让前面的函数处理。 如果IOException无法打开文件,我想捕获它,通知用户,然后继续。如果清除目录时出现IOException,我想抛出一个异常并在调用代码中处理它。

  • 我正在编写一个使用Java和Apache HttpClient的播客下载器。它适用于大多数RSS提要,但这一个失败了,出现了“406不可以接受”的错误。 链接是http://sqrpt.com/feed/podcast/

  • 问题内容: 我想使用Jersey来实现一些Java REST服务。默认的POJO转换器JAXB处理JSON对象有点奇怪,因此我想使用Jackson转换POJO的开销很少或更少。我如何告诉J2ME框架使用另一个转换器? 我的web.xml看起来像这样: 问题答案: 只需添加jackson JAR并修改web.xml即可,如下所示: 所需的Jackson Jackson JAR(http://jack

  • 我使用的是Jersey 1.12,并且有一个endpoint可能接收也可能不接收来自我无法控制的客户端的格式错误的标头(例如)。显然,bla格式错误,因为规范要求参数也要有值,即 我可以按照这里、这里和这里的建议编写一个过滤器来解决这个问题,但我想知道是否有一种方法可以让Jersey在我对其值不感兴趣的情况下忽略所有格式错误的报头?