我是一个初学者,想用Java语言学习RESTful应用编程接口。我在Eclipse中创建了一个动态Web项目,并尝试接收请求中的JSON数据。
@Path("/test")
public class TestAPI {
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String sayHello(User user) {
String name = user.getName();
return name;
}
}
@XmlRootElement(name = "user")
@XmlAccessorType(XmlAccessType.FIELD)
class User{
private String name;
public User() {}
@XmlElement
public void setName(String s) {
this.name = s;
}
public String getName() {
return name;
}
public String toString(){
return "{\"name\": "+name+"}";
}
}
在这段代码中,我尝试创建一个只有一个属性名称的User类。我尝试在请求中将名称作为JSON发送,并从JSON中检索名称。
HTTP Status 500 - javax.ws.rs.ProcessingException:从实体流反序列化对象时出错。有人能告诉我我的代码出了什么问题吗?
提前谢谢。
编辑:导入部分为
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
发布于 2018-08-26 01:41:25
尝试从您的POJO中删除所有xml标记并运行。
如下所示:
class User{
private String name;
public void setName(String s) {
this.name = s;
}
public String getName() {
return name;
}
public String toString(){
return "{\"name\": "+name+"}";
}
}
请求JSON:
{"name" : "Your Name"}
希望能有所帮助。
https://stackoverflow.com/questions/51963414
复制相似问题