0

オブジェクトを取るジャージーを使用したエンドポイントがあります。オブジェクトには、メンバーの 1 つとしてリストがあります。ただし、空の配列を送信すると、リストに空の要素が表示されます。「空の要素」とは、そこにオブジェクトがあり、すべてのフィールドが null であることを意味します。

@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 に設定していますが、これがどのように影響するかわかりません。

4

1 に答える 1

0

よくわかりませんが、おそらく

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

あなたが探しているものは何ですか?

于 2012-05-10T10:10:43.360 に答える