在Lagom中,我应该在哪里定义自定义(反)序列化程序?

在Lagom中,我应该在哪里定义自定义(反)序列化程序?,lagom,Lagom,我开始在Java中使用Lagom,需要编写一个自定义(反)序列化程序。我已经阅读了文档,了解了NegotiatedSerializer、MessageSerializer、SerializerFactory等的角色。我不了解的是在哪个包中定义类是规范的。我查看了Chipper示例,发现在各种*API模块中,*服务接口旁边通常有具体的模型定义,但没有自定义序列化器的示例。谢谢你的帮助 消息序列化程序(请求主体、响应主体和发布到主题的消息)应该是服务的api模块的一部分。序列化程序需要由服务的客户端

我开始在Java中使用Lagom,需要编写一个自定义(反)序列化程序。我已经阅读了文档,了解了NegotiatedSerializer、MessageSerializer、SerializerFactory等的角色。我不了解的是在哪个包中定义类是规范的。我查看了Chipper示例,发现在各种*API模块中,*服务接口旁边通常有具体的模型定义,但没有自定义序列化器的示例。谢谢你的帮助

消息序列化程序(请求主体、响应主体和发布到主题的消息)应该是服务的
api
模块的一部分。序列化程序需要由服务的客户端和服务实现本身使用。这使它们成为服务接口或API的一部分

应在每个服务的
impl
模块中定义持久化序列化程序(命令和应答、持久化事件、实体状态)。它们是内部实现的详细信息,不应向客户端公开


除了这些广泛的指导原则之外,组织包结构的方式实际上取决于您。有些项目对API使用单个包,对实现使用不同的包。其他人可能会将每个服务分成子包,尽管由于服务通常应该保持相当小的规模和重点,这可能有点过头了。您应该以对您的项目和组织有意义的方式安排包。

非常感谢,这很有意义!