如何使用$ .ajax()处理在post请求中作为参数发送的json对象;并休息webservices

时间:2015-02-02 15:06:48

标签: java ajax json resteasy http-post

我使用jquery ajax在post请求中发送一个json对象,如下所示。

$.ajax({
   url:'example/test/do',
   type:'POST',
   cache: false,
    dataType: 'text',
    data : [{id:'22',name:'hari'},{id:'32',name:'sharat'}],
    contentType : 'application/json',
    success : function(response) {
        alert(response);
    }
});

我有一个豆子如下

class User{
    private String id;
    private String name;
    //getters and setters
}
class UserList{
    private List<User>  userList;
    //getter setter comes here
}

处理请求的方法

@POST
@PATH('/test/do')
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_JSON)
public Response acceptUsers(@Form UserList list){
    System.out.println(list.getUserList().size()); // i am getting zero    
  //actual code comes here
}

很抱歉,我将list列为null,当我使用size时,它显然会抛出NullPointerException。

如何将用户发送的信息接收到User对象列表中,基本上将json对象映射/转换为Pojo列表。

1 个答案:

答案 0 :(得分:0)

你实际上并没有发送JSON,它应该是

data : JSON.stringify([{id:'22',name:'hari'},{id:'32',name:'sharat'}]),