$ .post对jax-rs的调用未接收到JSON数据

时间:2019-01-29 18:51:56

标签: jquery jax-rs

无法读取JSON格式的数据。我想接收帖子中发送的json对象。

    $.post(url + 'SelfService/login/validate', {key: self.key, value: 
    self.value},function(data, status, xhr) {
    alert("Data Loaded: " + data);
    },'json');

@POST
@Path("/validate")
@Produces(MediaType.APPLICATION_JSON)
public String validate(String data) {

1 个答案:

答案 0 :(得分:0)

在Jax-RS中,您可以接收一个映射到类的JSON对象。

假设您发布了{{“ id”:123,“ name”:“ Shahar”}

最简单的方法是创建一个可序列化的类

@XmlRootElement
public class YourClass {

   private Integer id;
   private String name;

   //Must have default constructor
   public YourClass() {
   }

   public YourClass(Integer id, String name) {
    this.id = id;
    this.name = name;
   }

   public Integer getId() {
     return id;
   }

   public void setId(Integer id) {
     this.id = id;
   }

   public String getName() {
     return name;
   }

   public void setName(String name) {
     this.title = title;
   }
}

并将其定义为资源中的参数,如下所示:

@POST
@Path("/validate")
@Consumes(MediaType.APPLICATION_JSON)
public Response validate(YourClass data){
 //interact with data :)
}