杰克逊自定义序列化器或值对象?

时间:2015-10-10 00:59:29

标签: java spring jackson spring-boot kotlin

几年后我专注于iOS,我将重新开始后端开发。我选择了Kotlin的Spring Boot。

  • 我想拥有一个以域为中心,通用,可重用的模型对象。
  • 对于服务调用,我想返回特定于用例的响应,其中有效负载输入/输出只是该特定方案的信息。 (我们可以称之为“合同优先”或“不要泄漏你的胆量”)

过去,我可能通过使用像Dozer这样的框架将可重用模型对象的信息映射到可序列化的值对象来实现服务。

或者,我正在考虑为给定端点注册自定义序列化程序,例如Django Rest Framework。 (不知道这是如何工作的,因为杰克逊通过注释序列化)。

问题:

  • 是否有一种简单的方法可以使用带有jackson的自定义序列化器来完成我想要的操作?
  • 或者继续使用多年前使用的价值对象方法是否更好?

1 个答案:

答案 0 :(得分:1)

根据您的使用情况,使用专用DTO可能是一个好主意。您知道,您可以从Jackson获得更多灵活性,而无需为每个方案实现自定义序列化程序 - Jackson Json Views are now supported in Spring MVC并且非常有用。