[英]Get JSON data from a request and craft a JSON response using Java Jersey and Jackson
我是一個初學者,試圖學習Java中的RESTful API。 我在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狀態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;
嘗試從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"}
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.