是否可以 return 资源中的超类列表并在客户端接收适当的子类? (使用休息)
Is it possible to return a list of superclass in the resource and receive the proper subclasses on the client side? (using resteasy)
我只得到客户端超类实例的列表。我希望 jax-rs 会动态创建一个不同类型的列表,包括对象本身 JSON 中每个对象的类型信息,然后在客户端创建一个适当的子类型列表...
我想这不可能吧?!但不明白为什么好像类型信息被添加到每个对象中这可以完成...
提前致谢...
因此,如果您将 resteasy 与 jackson 一起用于将数据序列化为 json,反之亦然,请回答我自己的问题,超类 dto 上的以下注释将起到作用:
@JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, include= JsonTypeInfo.As.PROPERTY,
property="__class")
使用此功能的任何人请记住,如果您 return 一个 list/collection 的 dto 是因为杰克逊缺少此处的类型信息并且无法查找此处讨论的注释,则此功能将无法使用: https://github.com/FasterXML/jackson-databind/issues/336
并且可以通过使用拥有您的 dto 列表的自定义响应 dto 轻松解决...
我只得到客户端超类实例的列表。我希望 jax-rs 会动态创建一个不同类型的列表,包括对象本身 JSON 中每个对象的类型信息,然后在客户端创建一个适当的子类型列表...
我想这不可能吧?!但不明白为什么好像类型信息被添加到每个对象中这可以完成...
提前致谢...
因此,如果您将 resteasy 与 jackson 一起用于将数据序列化为 json,反之亦然,请回答我自己的问题,超类 dto 上的以下注释将起到作用:
@JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, include= JsonTypeInfo.As.PROPERTY,
property="__class")
使用此功能的任何人请记住,如果您 return 一个 list/collection 的 dto 是因为杰克逊缺少此处的类型信息并且无法查找此处讨论的注释,则此功能将无法使用: https://github.com/FasterXML/jackson-databind/issues/336 并且可以通过使用拥有您的 dto 列表的自定义响应 dto 轻松解决...