gpt4 book ai didi

java - 不支持的媒体类型 - HTTP 状态 415

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:36 24 4
gpt4 key购买 nike

我的网络服务有问题。GET 请求执行良好且正确,但发布请求获得 HTTP 状态 415。

我正在从事的项目是一个 JAX-RS RESTful API,它需要与 Android 移动应用程序进行通信。我可以从 GET 语句接收信息。

这是我的 LoginFormat 对象的代码:

@XmlRootElement
public class LoginFormat {

private String username;
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}

在这里您可以看到我的 CoCreationService 类的 POST 示例:

@Path("/User")
public class CoCreationService {
@POST
@Path("/testLogin")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response parseTerm(LoginFormat login) {

return Response.status(200).entity(login.getUsername() + login.getPassword()).build();
}
}

我尝试了太多,以至于我对此感到困惑。

我正在使用 curl 测试网络服务:

curl -i -X POST -H 'Content-Type: application/json' -d '{"username": "testuser", "password": "test"}' http://localhost:8080/CoCreationService/api/User/testLogin

是否有一些设置需要说明,或者我是否犯了一个严重的错误?

PS:我正在使用 NetBeans。

编辑:带有文本/纯文本的 POST!

@POST
@Path("/testPost")
@Consumes("text/plain")
public Response postClichedMessage(String message) {
return Response.status(200).entity(message).build();
}

最佳答案

代码没有问题。您唯一需要做的就是在您的类路径中包含适当的库,该库知道如何解码 json 字符串。如果使用 Maven,您可以简单地添加另一个依赖项:

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>${jersey.version}</version>
</dependency>

只要您使用的是 Netbeans,您就可以在 AS 日志中看到类似这样的内容:

SEVERE: A message body reader for Java class LoginFormat, and 
Java type class LoginFormat, and MIME media type application/json
was not found.

The registered message body readers compatible with the MIME media type are:

关于java - 不支持的媒体类型 - HTTP 状态 415,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22459816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com