POST 使用 Jax-RS 给出 HTTP 错误代码 415?
POST with Jax-RS giving HTTP error code 415?
我有以下 POST
使用 jax-rs
框架的端点:
@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.
我的端点有什么问题?
据内部报道https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp22/index.html:
If a resource is unable to consume the MIME type of a client request,
the JAX-RS runtime sends back an HTTP 415 (“Unsupported Media Type”)
error.
您是否尝试添加 @Consumes 符号来指定接受的媒体类型?
您传递了 URL 中的所有参数。尝试切换到 GET 而不是 POST.
虽然 POST 具有空主体的端点并不少见,但以下响应让我有些停顿:
JBWEB000135: The server refused this request because the request
entity is in a format not supported by the requested resource for the
requested method.
能否请您验证客户端并确保它没有在其请求中发送任何数据body。还要验证您的客户是否发送了 Content-Type Header。
如果您不确定客户端是否在静默添加任何 body/header,您可以使用 Postman 来模拟这一点。或者一个简单的卷曲就足够了。
调试连接请求并检查 MIME 类型 headers。
如果您的客户端 POST 发出请求并声明您不支持的 MIME 类型,那么您需要更改请求或调整您的服务器 REST 服务以支持该 MIME 类型。
例如,
如果您使用浏览器作为客户端来执行 REST POST 调用,您可以在 运行 之前单击 F12(触发 fox/chrome)运行 =27=] 调用,然后执行操作,您将看到执行的所有 REST 调用。
点击您感兴趣的电话,然后查看headers。
如果您缺少某些内容类型,您可以在您的服务中为其添加注释。
例如:
然后我先打开F12
我用这个网站 运行 一个 POST 电话:
https://reqbin.com/
我有以下 POST
使用 jax-rs
框架的端点:
@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.
我的端点有什么问题?
据内部报道https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp22/index.html:
If a resource is unable to consume the MIME type of a client request, the JAX-RS runtime sends back an HTTP 415 (“Unsupported Media Type”) error.
您是否尝试添加 @Consumes 符号来指定接受的媒体类型?
您传递了 URL 中的所有参数。尝试切换到 GET 而不是 POST.
虽然 POST 具有空主体的端点并不少见,但以下响应让我有些停顿:
JBWEB000135: The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.
能否请您验证客户端并确保它没有在其请求中发送任何数据body。还要验证您的客户是否发送了 Content-Type Header。
如果您不确定客户端是否在静默添加任何 body/header,您可以使用 Postman 来模拟这一点。或者一个简单的卷曲就足够了。
调试连接请求并检查 MIME 类型 headers。 如果您的客户端 POST 发出请求并声明您不支持的 MIME 类型,那么您需要更改请求或调整您的服务器 REST 服务以支持该 MIME 类型。
例如, 如果您使用浏览器作为客户端来执行 REST POST 调用,您可以在 运行 之前单击 F12(触发 fox/chrome)运行 =27=] 调用,然后执行操作,您将看到执行的所有 REST 调用。
点击您感兴趣的电话,然后查看headers。 如果您缺少某些内容类型,您可以在您的服务中为其添加注释。
例如: 然后我先打开F12 我用这个网站 运行 一个 POST 电话: https://reqbin.com/