如何生成 gRPC 服务并重用 java 和 gradle 中的现有 DTO?
How to generate gRPC services and reuse existed DTOs in java with gradle?
是否可以在使用现有 DTO 的 .proto 文件中描述某些服务并使用 gradle 生成服务 类?
我正在为某个服务器开发客户端 SDK。当前的通信层基于 gRPC,但我不想向最终用户公开实现细节(那些丑陋的 gRPC 消息 类)。所以 public API 用 POJO 表示。
现有解决方案使用自定义转换器在两种类型的 DTO 之间进行一些转换。这很烦人-复制属性的色调只是为了美化publicAPI。所以我正在寻找一种在 gRPC 层上重用 POJO 的方法。可能吗?
Protobuf 确实需要这些消息才能被告知要序列化什么。因此,虽然有一些方法可以序列化您自己的消息类型(如 MethodDescriptor.Marshaller),但如果您想使用 Protobuf,则需要在不同类型的对象之间进行复制。
是否可以在使用现有 DTO 的 .proto 文件中描述某些服务并使用 gradle 生成服务 类?
我正在为某个服务器开发客户端 SDK。当前的通信层基于 gRPC,但我不想向最终用户公开实现细节(那些丑陋的 gRPC 消息 类)。所以 public API 用 POJO 表示。
现有解决方案使用自定义转换器在两种类型的 DTO 之间进行一些转换。这很烦人-复制属性的色调只是为了美化publicAPI。所以我正在寻找一种在 gRPC 层上重用 POJO 的方法。可能吗?
Protobuf 确实需要这些消息才能被告知要序列化什么。因此,虽然有一些方法可以序列化您自己的消息类型(如 MethodDescriptor.Marshaller),但如果您想使用 Protobuf,则需要在不同类型的对象之间进行复制。