扩展ArrayList会导致Java Jersey中缺少属性

扩展ArrayList会导致Java Jersey中缺少属性,java,jersey,Java,Jersey,我正在创建一个休息服务,收集汽车资源, 在代码中,我设置集合的ID以供以后使用, 但是,当我返回CarResources的响应时,ID丢失。 而且IDE似乎没有“看到”这个属性 代码: 最简单的方法是不扩展ArrayList,只需将列表作为自定义对象的一个成员,它就可以序列化,而无需任何额外的工作。在这种情况下,继承不是正确的解决方案,而是组合 如果坚持扩展ArrayList,则需要使用@JsonProperty注释新实例成员和/或编写自定义JsonSerializer,并使用@JsonSeri

我正在创建一个休息服务,收集汽车资源, 在代码中,我设置集合的ID以供以后使用, 但是,当我返回CarResources的响应时,ID丢失。 而且IDE似乎没有“看到”这个属性

代码:


最简单的方法是扩展
ArrayList
,只需将列表作为自定义对象的一个成员,它就可以序列化,而无需任何额外的工作。在这种情况下,继承不是正确的解决方案,而是组合


如果坚持扩展
ArrayList
,则需要使用
@JsonProperty
注释新实例成员和/或编写自定义
JsonSerializer
,并使用
@JsonSerialize
注释类以使用新的自定义序列化程序,因为正在使用默认的
ArrayList
序列化程序否则。

不要扩展ArrayList。创建一个自定义类,该类将列表作为字段。感谢我添加了受保护的ArrayList数据;对我们的基础收集资源,它解决了它。@ NIR,而不是添加感谢的评论考虑回答回答绿色检查旁边的答案
public class CarResources extends ArrayList<CarResource> {

  private String id;

  public void setId(String id) {
    this.id = id;
  }

  public String getId() {
    return id;
  }


  public CarResources (String id) {
    this.id = id;
  }
[
//Missing in the response is an id property of the entire List
  {
    "CarResource": {
      "id": "TOYOTA_CAMERI",
      "name": "Toyota",
      "carType": "GAS"
      }
   },
     {
    "CarResource": {
      "id": "HONDA_TYPE_R",
      "name": "HONDA",
      "carType": "GAS"
      }
   }


]