我正在尝试使用 Jersey 来理解 Java 中的 Web 服务。 我按照教程:http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/
但是我的示例有一些问题。
这是Web服务中的代码,
@POST
@Path("/abc")
@Consumes({MediaType.APPLICATION_JSON,
MediaType.APPLICATION_FORM_URLENCODED
})
public Response createTrackInJSON(Track track) {
String result = "Track saved : " + track.toString();
System.out.println(result);
return Response.status(201).entity(result).build();
}
这是来自客户的:
var newTrack = {
title : "aaaa",
singer : "bbbb"
};
$.ajax({
url : 'http://localhost:8080/Teamp3/rest/hello/abc/',
type : 'POST',
data : { track : JSON.stringify(newTrack)},
success : function(result) {
alert("success");
document.getElementById("lblRes_POST").innerHTML = result;
},
error : function(jqXHR, textStatus, errorThrown) {
alert("jqXHR - " + jqXHR.statusText + "\n" + "textStatus - "
+ textStatus + "\n" + "errorThrown - " + errorThrown);
}
});
它将响应:“不支持的媒体类型”
如果我输入: 内容类型:'应用程序/json', 数据类型:'json',
在ajax代码中,它仍然注意到该消息。 您能给我一些解决方案吗?谢谢。
最佳答案
尝试更改客户端如下:
- 将 data : { track : JSON.stringify(newTrack)} 更改为 data : JSON.stringify(newTrack)
为了获得更好的建议,请将网络选项卡上的网络捕获发送给我们。
希望这有帮助
关于java - 使用 POST 方法的 Web 服务响应 "Unsupported Media Type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773609/