使用Jersey和Jackson創建REST接口時,如何在其中有0個或1個元素時將List字段序列化爲列表。例如:如何讓澤西/傑克遜序列化空列表;單個元素列表作爲數組
@XmlRootElement(name="foo")
public class Foo {
@XmlElement
public List<Bar> getBars() {
return this.bars;
}
}
@Path("foo")
public FooResource {
@GET
public Foo getFoo() {
return theFoo;
}
}
當杆沒有任何元素,其結果作爲串行化和null
當它含有一個單獨的元件,其序列爲元素,不包含單個元件的陣列。有沒有辦法讓這些總是序列化爲一個數組?
僅供參考,我使用的是Jersey 1.10和Jackson 1.9.2。
你是對的,傑克遜沒有正確配置。除了將'org.codehaus.jackson.jaxrs'添加到com.sun.jersey.config.property.packages初始參數中,是否有更明確的方式來配置Jackson在Jersey中的使用? –
使用標準的JAX-RS註冊機制可以顯式註冊來自jax-rs jar('JacksonJsonProvider')的提供者類,請參閱http://wiki.fasterxml.com/JacksonFAQ#JAX-RS(例如)以獲取詳細信息。 – StaxMan