泽西为空列表提供“null”元素

时间:2012-05-08 18:51:45

标签: java jersey

我有一个使用Jersey的端点,它接受一个对象。该对象具有列表作为其中一个成员。但是,当我发送一个空数组时,它会在列表中给我一个空元素。通过'空元素',我的意思是那里有一个对象,所有的字段都是空的。

@XMLRootElement
public class myContainer {
  public List<myObject> list;
  // etc
}

@XMLRootElement
public class myObject {
  public String data1;
  public String data2;
  // etc
}

// I hit the following with "{\"list\":[]}"    

@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response post(final myContainer x) {
  for (myObject obj : x.list) {
    // why do I hit this?
    // debugging, I actually have an object here with all null fields
    obj.data1 == null; // true
    obj.data2 == null; // true
  }
}

任何人都知道为什么泽西会这样做?

我将WRITE_NULL_PROPERTIES设置为false,但我不知道这会对此产生什么影响。

1 个答案:

答案 0 :(得分:0)

我不确定,但可能会设置

@XmlElemet(nillable=true)
public List<myObject> list;

是你要找的?