使用JAX-RS的Jackson api在资源版本控制的内容协商模型中响应不同版本的对象模型

时间:2017-10-12 12:02:07

标签: jackson jax-rs content-negotiation

我需要为同一个现有URI提供不同版本的响应对象。我将使用Accept / Content-type conneg方法。我用杰克逊将我的POJO转换成了json。请帮助我如何与杰克逊一起做。

对于对象模型,我必须有一个基类,对象版本是扩展类吗?

1 个答案:

答案 0 :(得分:0)

我建议使用两个独立的DTO,而不是让一个对象以两种不同的方式序列化。每个版本一个。

内容协商不会发生在杰克逊方面,而是发生在@Produces注释的JAX-RS方面。

返回DTOv1的一种方法将生成application/vnd.v1+json,而另一种方法将返回带有application/vnd.v2+json的DTOv2。