我有一個Java類:不支持的媒體類型
@XmlRootElement
public class RoomInfo {
@XmlElement
public String name;
@XmlElement
public String w;
@XmlElement
public String h;
@XmlElement
public String size;
}
和RESTful Web服務:
@Path("/create")
public class Create {
@POST
@Consumes("application/json")
public void getInfo(RoomInfo room){
System.out.println("signal");
System.out.println(room.name);
System.out.println(room.w);
System.out.println(room.h);
System.out.println(room.size);
}
}
我試圖透過與JavaScript的JSON參數的POST請求:
var xh = new XMLHttpRequest();
var json = JSON.stringify({
name: "Room1",
w: "2",
h: "4",
size: "12"
});
xh.open("POST", 'http://localhost:8080/create', true);
xh.setRequestHeader('Content-type', 'application/json; charset=utf-8');
console.log(json);
xh.send(json);
但我得到了我的瀏覽器的控制檯輸出如下:
{ 「名稱」: 「ROOM1」, 「W」: 「2」, 「H」: 「4」, 「尺寸」: 「12」}
未能加載資源:服務器用響應狀態415(Unsupported Media Type)
據我所知,由於某些原因,我發送的數據不能放入我的RoomInfo對象,但我不明白爲什麼。
服務器控制檯還顯示以下內容: com.sun.jersey.spi.container.ContainerRequest.getEntity用於Java類com.example.jersey.RoomInfo和Java類型類com.example.jersey的消息正文閱讀器.RoomInfo和MIME媒體類型application/json;未找到charset = UTF-8。 與MIME媒體類型兼容的已註冊郵件正文閱讀器爲: application/json;字符集= UTF-8 - >
服務器控制檯上是否有任何異常? – gurvinder372
@ gurvinder372是的,我會將其添加到帖子 – seMikel
類似的東西http://stackoverflow.com/questions/7388288/jersey-restfull-service-with-json – gurvinder372