【问题标题】:POST with Jax-RS giving HTTP error code 415?使用 Jax-RS 发布 HTTP 错误代码 415?
【发布时间】:2021-04-14 01:20:40
【问题描述】:

我有以下使用jax-rs 框架的POST 端点:

    @POST
    @NoCache
    @Path("/{client}/email/template/type/{type}")
    public void sendEmail(
    @PathParam("client") String client,
    @PathParam("type") String communicationTemplateType) {
        emailService.sendEmail(client, communicationTemplateType);
    }

每当我点击此端点时,我都会收到以下错误,错误代码为415

JBWEB000135: The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.

我的端点有什么问题?

【问题讨论】:

  • 资源上是否有任何其他注释(即在类级别)?您的 POST 请求发送哪些标头?
  • 1.提示:始终使用@Consumes@Produces 注释。 2.您是否尝试在正文中发送实体?如果是这样,您必须有一个参数来支持该实体。 3. 确保使用正确的 Content-Type 标头...应该处理所有这三件事。
  • 还可以显示您是如何发送请求的?
  • 你解决了我在之前评论中提到的所有问题吗?添加赏金而不使用 cmets 的请求更新您的帖子是没有意义的。那时没有人能回答你的问题,他们也无法回答,因为你添加了赏金。只是浪费你的网点。如需更好的帮助,请阅读我以前的 cmets 并更新您的帖子。

标签: java rest post jax-rs http-status-code-415


【解决方案1】:

https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp22/index.html内部报道:

如果资源无法使用客户端请求的 MIME 类型, JAX-RS 运行时发回 HTTP 415(“不支持的媒体类型”) 错误。

您是否尝试添加 @Consumes 符号来指定接受的媒体类型?

【讨论】:

    【解决方案2】:

    您传递了 URL 中的所有参数。尝试切换到 GET 而不是 POST。

    【讨论】:

      【解决方案3】:

      虽然带有空主体的 POST 端点并不少见,但以下响应让我有些犹豫:

      JBWEB000135:服务器拒绝了这个请求,因为请求 实体的格式不受请求的资源支持 请求的方法。

      您能否验证客户端并确保其未在其请求正文中发送任何数据。还要验证您的客户端是否发送了任何 Content-Type Header。

      如果您不确定客户端是否在静默添加任何正文/标题,您可以使用 Postman 来模拟这一点。或者一个简单的卷曲就足够了。

      【讨论】:

        【解决方案4】:

        调试连接请求并检查 MIME 类型标头。 如果您的客户端发布请求并声明您不支持的 MIME 类型,那么您需要更改请求或调整您的服务器 REST 服务以支持该 MIME 类型。

        例如, 如果您使用浏览器作为客户端执行 REST POST 调用,您可以在运行 POST 调用之前单击 F12 (fire fox/chrome),然后执行该操作,您将看到执行的所有 REST 调用.

        单击您感兴趣的呼叫,然后检查标题。 如果您缺少某些内容类型,您可以在您的服务中为其添加注释。

        例如: 我第一次打开F12然后 我使用此站点运行 POST 调用: https://reqbin.com/

        然后在 F12 窗口中(在我的例子中是 firefox):

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-09
          • 1970-01-01
          • 1970-01-01
          • 2021-09-20
          相关资源
          最近更新 更多