我正在实现我们的 Google Cloud Endpoints API 的 iOS 客户端,并且想知道 Cloud Endpoints 发现文档是如何在 iOS 内部进行解释的,所以当我在 Cloud Endpoints 端进行更改时(添加字段、更改一个字段名,删除一个字段)老客户会怎样?
我知道 Cloud Endpoints 为 Javascript/AngularJS 方面公开了一个 REST JSON API,我们可以使用 iOS 上的 AFNetworking 之类的东西手动绑定(bind)。我熟悉如何在该场景中管理客户端上的 API 更改,但如果使用 Toolkit SDK/RPC 实现有意义,那么我宁愿这样做。
那么,这一切都是通过控制 API 版本来处理的吗?那么老客户会请求旧版本的 API 吗?那么 Google iOS SDK 是否支持语义版本控制?如果不是这样,我可能会看到版本号很快就会失控。
请注意,这是 GCE 的 python 版本。
最佳答案
如果您不想同时了解有关如何调用端点 API 的各种实现细节,那么您最终应该生成并使用客户端库。另一方面,如果您要使用 AFNetworking,则您需要研究如何使用 AFNetworking 调用 REST API。端点定义的 REST API 可以阅读关于 in the documentation ,此外,您还可以使用 API Explorer 来测试您的方法,甚至可以在浏览器中捕获随这些请求一起发送的 header 。
其次,不言而喻,您不应该编写 API,然后在不对其进行版本控制或通知/更新任何客户端的情况下彻底更改其规范。版本系统在 A) 从您的发现文档生成的客户端库中实现,B) 在 REST API 本身的 URL 路由中实现。您可能希望选择目标框架支持的版本控制命名方案。
我希望这已经消除了您的任何困惑。
关于python - iOS 上的 Google Cloud Endpoints 发现文档更改/演化支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28054498/