Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
415通过ajax调用RESTful java web服务时不支持的媒体类型_Java_Ajax_Json_Rest - Fatal编程技术网

415通过ajax调用RESTful java web服务时不支持的媒体类型

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

我正在尝试一个调用restful java web服务的示例,该服务以“name”作为输入,并发布“hello name”,如下所示:

     @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;
   }

 }