python - iOS 上的 Google Cloud Endpoints 发现文档更改/演化支持?

标签 python ios google-app-engine google-cloud-endpoints

我正在实现我们的 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/

相关文章:

ios - 无法从 UIView 扩展调用方法

java - com.google.appengine :appengine:+ vs com. google.cloud.tools:appengine-gradle-plugin:+

python - python中的周期性定时器,周期较小

python - Tkinter 中真正的自定义字体

iphone - iOS:在 iOS 中处理数据库的最佳方式是什么?

ios - Objective-C - UIActivityIndi​​catorView 没有动画

javascript - HTML 文件中的 jQuery Ajax Json 解析不适​​用于 Google Cloud Service

python - 如何确定国际化参数的优先级

python - 在 Numpy 中复制子数组的列

python - 在 Tornado 中设置时区