我发现自己处于一种情况,我需要在服务器上使用 POST 获取一些数据并用它做一些简单的事情。但当我尝试使用 www.hurl.it 网站测试它时,它一直显示 415 Unsupported Media Type。
这是我发送的 json:
{
"pictures": {
"picture": [
{
"id": "1",
"name": "10_aut_linen_male_less_student_work_yellow_n_cold.png"
},
{
"id": "2",
"name": "10_aut_linen_male_less_student_work_yellow_n_mild.png"
},
{
"id": "3",
"name": "10_aut_linen_male_less_student_work_yellow_n_hot.png"
}
]
}
}
这是模型类:
package com.models.sm7;
import java.util.ArrayList;
import java.util.List;
public class Sm7Pictures {
private Pictures pictures;
public Pictures getPictures() {
return pictures;
}
public void setPictures(Pictures pictures) {
this.pictures = pictures;
}
public class Pictures {
private List<Picture> picture = new ArrayList<Picture>();
public List<Picture> getPicture() {
return picture;
}
public void setPicture(List<Picture> picture) {
this.picture = picture;
}
}
public class Picture {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
这是我的服务类别:
@Path("sm7Service")
public class Sm7Service {
Sm7DAO sm7DAO = new Sm7DAO();
@GET
@Path("/testSm7")
@Produces(MediaType.TEXT_PLAIN)
public String testSm (){
return "Hello";}
@POST
@Path("/checkPictures")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String getPictures(Sm7Pictures picture){
System.out.println("pokrenuto");
return "Hello";}
}
DAO 类是我将完成所有逻辑的地方,但为了测试目的,我只是将文本放在普通的...我真的对此很头疼:S 因为它很简单,但我无法理解它工作。我敢打赌它与模型类有关?请帮忙!
最佳答案
解决了,必须将 {}
放入 @Consumes(MediaType.APPLICATION_JSON)
中,如下所示 @Consumes({MediaType.APPLICATION_JSON})
.
关于java - Jersey REST 与使用 JSON 相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876122/