在专注于 iOS 几年后,我将重返后端开发。我选择了 Spring Boot 和 Kotlin。
- 我想要一个以领域为中心的、通用的、可重用的模型对象。
- 对于服务调用,我想返回特定于用例的响应,其中有效负载输入/输出只是该特定场景的信息。 (我们可以称之为“契约(Contract)优先”或“不要泄露你的胆量”)
过去,我可能通过使用像 Dozer 这样的框架将信息从可重用模型对象映射到可序列化值对象来实现服务。 。
或者,我正在考虑为给定端点注册一个自定义序列化器,例如 Django Rest Framework 所做的那样。 (不知道 jackson 通过注释序列化这将如何工作)。
问题:
- 有没有一种简单的方法可以使用 jackson 的自定义序列化器来完成我想要的事情?
- 或者继续使用我多年前使用的值对象方法是否更好?
最佳答案
根据您的用例,使用专用 DTO 可能是一个好主意。正如您所知,您可以从 Jackson 获得更大的灵 active ,而无需为每个场景实现自定义序列化器 - Jackson Json Views are now supported in Spring MVC并且非常有用。
关于java - Jackson 自定义序列化程序或值对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049162/