2015-01-20 90 views
5

我正在实施我们的Google Cloud Endpoints API的iOS客户端,并且想知道如何在iOS内部解释Cloud Endpoints发现文档,因此当我在Cloud Endpoints端进行更改时(添加字段,更改字段名称,删除字段)旧客户端会发生什么情况?iOS上的Google Cloud Endpoints发现文档更改/进化支持?

我知道Cloud Endpoints为Javascript/AngularJS提供了一个REST JSON API,我们可以使用类似于iOS上的AFNetworking的方式手动绑定。我熟悉如何在这种情况下管理客户端的API更改,但如果使用Toolkit SDK/RPC实现是有意义的,那么我宁愿这样做。

这是否都是通过对API进行版本控制来处理的呢?那么较老的客户端会请求旧版本的API? Google iOS SDK是否支持语义版本控制?如果没有,我可以看到版本号很快失控。

请注意,这是GCE的python版本。

回答

0

如果您不想自己掌握如何调用端点API的各种实现细节,则最终应该生成并使用客户端库。另一方面,如果你想和AFNetworking一起工作,那么你需要做一些关于如何使用AFNetworking调用REST API的研究。可以读取由端点定义的REST API约in the documentation,此外,您还可以使用API​​ Explorer测试您的方法,甚至在浏览器中捕获与这些请求一起发送的头。其次,不言而喻,您不应该编写API代码,然后从根本上更改其规格,而不对其进行版本化或通知/更新任何客户端。版本系统在您的发现文档中生成的客户端库中实现,以及B)在REST API本身的URL路由中实现。你会想要选择你的目标框架支持的版本控制命名方案。

我希望这能够为您解决任何困惑。

+0

所以它基本上是沼泽标准REST API的东西..一旦你用客户端进行部署,除非你想要对整个API的端点或版本进行版本化,否则没有改变的字段名称或任何东西? – 2015-01-27 22:15:33

+0

我的意思是,当然你*可以*重新部署相同版本的API并进行修改,但我指的是最佳实践。最好将开发版本的API保留在开发中,直到它通过测试,然后将其部署为该版本的所有版本。一旦你部署了一个版本,除非它是一个不会破坏事情或影响客户端应该如何调用API的小补丁,最好为你自己提供一个新版本来工作,特别是如果对参数列表等方面进行更改,数据类型,方法内部代码的性质及其副作用等等。 – Nick 2015-01-28 14:29:57

相关问题