【发布时间】:2012-08-17 19:50:52
【问题描述】:
我有一个界面
@Path("basePath")
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_XML)
public interface SomeService {
@GET
@Path("list")
public List<ItemBean> getItems() throws WebApplicationException;
}
还有一颗豆子
@XmlRootElement(name = "item")
@XmlAccessorType(XmlAccessType.FIELD)
public class ItemBean {
@XmlElement(name = "name")
private String someName;
@XmlElement(name = "description")
private String desc20Char;
.....
如果我提出请求,我的回应是
<itemBeans>
<item>
<name>foo</name>
<description>bar</description>
</item>
....etc....
</itemBeans>
除了 itemBeans 标记之外,所有这些都很好。如何将其重命名为项目?我尝试将@XmlElement(name = "items") 同时添加到接口的方法、实现类的方法和返回参数中。我错过了什么吗?谢谢
【问题讨论】:
-
我知道 RESTEasy 有
@Wrapped注释来处理这种情况,但 Jersey 没有。引入一个新类来包含列表是否会破坏交易?在这种情况下,您可以使用@XmlElementWrapper。 -
根本不会破坏交易。感谢您的帮助!