老的 API 都是 REST 类型的,有两百多个。现在要保留这些 REST API,同时提供对应的 gRPC 调用。
我的想法是在 ProtBuf 里面就给 headers,params,path 这几个字段,都是 string 类型,不用关心具体内容。然后构造成 REST 请求,丢到后面去 unmarsahll 一下,执行相应逻辑。
但这个有一个问题。protobuf 可以告诉 Client 怎么调用 gRPC Method。如果使用这种大颗粒的方法,那 Client 就不知道要往里面填什么内容(比如 body 是 string 类型,但调用这个 API 必须往里面填 username 和 password。这样就完全看不出来)。
如果一个个 API 检查,可以知道具体需要的哪些字段,写出对应的*.proto,Client 一看就知道怎么使用。但两百多个 API 啊,这怎么检查的过来。
这些 REST API 太底层了,几乎不遵循什么规范。
有啥好解决的方案不?