415通过ajax调用RESTful java web服务时不支持的媒体类型
我正在尝试一个调用restful java web服务的示例,该服务以“name”作为输入,并发布“hello name”,如下所示:415通过ajax调用RESTful java web服务时不支持的媒体类型,java,ajax,json,rest,Java,Ajax,Json,Rest,我正在尝试一个调用restful java web服务的示例,该服务以“name”作为输入,并发布“hello name”,如下所示: @Path("/login") public class LoginWS { @POST @Produces(MediaType.APPLICATION_JSON) public NameBean getHello( NameBean nb ) throws JSONException{ Sys
@Path("/login")
public class LoginWS {
@POST
@Produces(MediaType.APPLICATION_JSON)
public NameBean getHello( NameBean nb ) throws JSONException{
System.out.println("starting pt");
String output="Hello "+ nb.getName();
nb.setName(output);
return nb;
}
}
下面是我的NameBean类,用于映射JSON数据:
public class NameBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在客户端,我使用ajax调用以下内容:
function Invoke(){
$.ajax({
type: "POST",
url: 'http://localhost:8080/OnlineJudgeDemo/api/login/',
data: JSON.stringify({
"name" : $("#haha").val()
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data, textStatus, jqXHR){
alert("wow!");
},
error: function(jqXHR, textStatus, errorThrown){
alert("sorry! " + textStatus+errorThrown);
}
});
}
但是,调用invoke()函数时,会出现415个不支持的媒体类型错误
我已经检查了许多其他关于同一问题的堆栈溢出页面,但似乎没有一个能够解决我的查询
有人能帮我知道哪里出了问题吗?试着将您的服务改写如下:
@Path("/login")
public class LoginWS {
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public NameBean getHello( NameBean nb ) throws JSONException{
System.out.println("starting pt");
String output="Hello "+ nb.getName();
nb.setName(output);
return nb;
}
}