Джерси дает пустой элемент для пустого списка

У меня есть конечная точка, использующая Джерси, которая берет объект. Объект имеет список в качестве одного из членов. Однако, когда я отправляю пустой массив, он дает мне пустой элемент в списке. Под "пустым элементом" я подразумеваю, что там есть объект, и все поля пусты.

@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 ответ

Я не уверен, но, возможно, настройка

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

это то, что вы ищете?

Другие вопросы по тегам