代码之家  ›  专栏  ›  技术社区  ›  newbieitTech

GET、LIST、…的单一实现。。。独立原型文件的端点

  •  0
  • newbieitTech  · 技术社区  · 2 年前

    我过去使用过RPC,根据我的经验,每个RPC服务都需要单独的实现。例如,考虑 protos/oplaccount.proto 具有以下服务:

    service OplAccountGlobalObjectDefaultService {
        rpc Get(OplAccountGlobalObjectDefaultGetRequest) returns (OplAccountGlobalObjectDefaultGetResponse);
        rpc List(OplAccountGlobalObjectDefaultListRequest) returns (OplAccountGlobalObjectDefaultListResponse);
    }
    

    protos/deliveryaccount.proto 具有以下服务

    service DelAccountGlobalObjectDefaultService {
        rpc Get(DelAccountGlobalObjectDefaultGetRequest) returns (DelAccountGlobalObjectDefaultGetResponse);
        rpc List(DelAccountGlobalObjectDefaultListRequest) returns (DelAccountGlobalObjectDefaultListResponse);
    }
    

    当我设计实现它的解决方案时,我会在客户端和服务器端为这些服务中的每一个分离impl,即有2个GET impl和2个LIST impl。(每个服务/原型一个)

    然而,强烈建议为所有这些不同的proto(类似地,为LIST、Search等)提供一个通用的GET实现,并为每个proto文件提供调用此一次性实现的GET/LIST等的处理程序。

    笔记 我们可以假设所有protos文件都将impl。GET或LIST,或者两者都具有相同的签名但req、res-obj不同。

    我的问题是:

    1. 这被认为是围棋的好练习吗?
    2. 如果是,在GET方法签名相同但请求和响应对象不同的情况下,如何对不同的protos文件执行此操作。每个原型都不同。任何示例代码或链接都将不胜感激。
    0 回复  |  直到 2 年前