我正在设计一个Web API,它是作为Java库提供的一些计算代码的包装,让我们称之为库。这个想法是API应该向后兼容:调用者可以使用该库的旧版本来生成请求并期望一致的响应(如果我用x请求调用它,则总是期望y响应)。 / p>
我调查了protobuf,看来,如果使用得当,API调用程序可以发送旧版本的请求,而具有较新模式的API可以理解旧请求。
我说的对还是要由API处理该请求呢?因为该API可能正在使用该库的较新版本,所以可能会返回不同的响应?然后我看不到protobuf比版本化API请求有什么更好的选择,例如实现/:version/...
端点。