java - 泽西编码成员名单问题

标签 java web-services rest jersey

我正在使用 Java Jersey 1.x 来编码一个具有多个成员的对象,其中一个是列表。所有成员变量都被正确编码并以正确的返回类型返回。但是,它不在返回数据中包含 objectList

例子:

@XmlRootElement
public class ClassWithList {
    private String front;
    private int total;
    private ArrayList<AnotherPOJOObject> objectList;
...
getters/setters

setter/getter :

public List<AnotherPOJOObject> getObjectList() {
    return objectList;
}

我调试了它并检查了 objectList 确实填充了数据。 AnotherPOJOObject 也被注释为 XmlRootElement

最佳答案

看看http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlAccessorType.html .它详细说明了 JAXB 将如何尝试序列化 POJO。特别要注意,它默认仅适用于公共(public)成员——这意味着“每个公共(public) getter/setter 对和每个公共(public)字段都将自动绑定(bind)到 XML,除非由 XmlTransient 注释”。在这种情况下,我猜测您没有 objectList 的公共(public) setter 字段,因此 JAXB 不会序列化它。要获取要序列化的列表,您可以:

  • 为 objectList 添加一个公共(public) setter 方法
  • 将 objectList 声明为公共(public)(可能不是一个好主意)
  • 向 getter 添加一个 @XmlElement 注释,以明确告诉 JAXB 将列表编码为 XML。

关于java - 泽西编码成员名单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12427944/

相关文章:

php - prestashop api 1.6 webservice 更新订单状态

web-services - 在 Web 服务中使用 Code First 时出错 "System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string."

mysql - Flask 中剩余查询参数的模式

java - Graphics2D 如何以灰度绘制颜色?

java - Google App Engine Java,无法访问本地主机!

java - 为什么 maven install npm 会出现这个错误?

rest - 无法以编程方式启动 Windows Azure VM

rest - 从错误的gson View 访问请求路径变量?

java - jsp中不显示值

java - 是否可以访问 Android 中已安装的应用程序共享数据?