[英]Unsupported Media Type - HTTP Status 415
我的網絡服務有問題。 GET
請求執行得很好並且正確,但是post請求正在獲取HTTP狀態415。
我正在開發的項目是一個需要與Android移動應用程序通信的JAX-RS RESTful API。 我可以收到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();
}
}
我試了太多,以至於我很困惑。
我正在測試web服務的卷曲:
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:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.