在appengine中维护Java Endpoint API版本

时间:2015-03-10 18:19:31

标签: java android eclipse google-app-engine google-cloud-endpoints

我有一个Android-Application项目和一个AppEngine-BackEnd项目,它作为Android应用程序的后端。 我使用Google插件从appengine项目为Android客户端生成客户端库。

AppEngine-BackEnd定义了一个端点' AppEndPoint'。 我已经发布了第一个版本的Android应用程序和appengine应用程序。

现在我想对端点进行一些修改,最终将API版本更改为' v2'。

我做了什么

在AppEngine项目中,我复制了现有的AppEndPoint类,并将其重命名为AppEndPointV2,并对新类进行了必要的修改。还使用version =" v2"注释新类。部署应用程序时,可以按预期在API资源管理器中看到v1和v2版本。

现在,当我为Android应用程序生成带有Google插件(Eclipse)的客户端库时,它会导出v1和v2,并且会生成错误"类型Appendpoint已经定义了"

我希望新导出的客户端库中只存在v2。因此,我觉得我的方法存在问题。我通过网络和StackOverflow进行了大量搜索。但无法得到确切的方法来做到这一点。主要搜索有点困难,因为关键字'端点' api''版本'等非常通用。

我想要什么

  1. 我现有的(已发布的客户端应用)应该仍然可以访问API的v1。
  2. 新应用应该使用v2
  3. 所以我想知道

    1. 维护不同版本的端点API的推荐方法是什么。如何编写类。是否在每个API版本上复制端点类并以推荐的方式对其进行更改?
    2. 我如何告诉插件我只想将端点的v2导出到端点客户端库?
    3. 注意:我使用AppEngine-JAVA而eclipse是IDE

1 个答案:

答案 0 :(得分:0)

  

维护不同版本的推荐方法是什么?   端点API。如何编写类。正在重复   每个API版本的端点类并对其进行更改   推荐方式?

您走在正确的轨道上,理想情况下,您构建v1并继续对其进行重新投放,一旦部署v2,您的最新版本将继续适用于您的旧版应用。

至于你已经定义的""问题是你应该考虑在你的端点和模型包中加入一个版本标记。例如com.example.myendpoint.v2

通过这种方式,您将复制代码(复制模型类等)您将确保对新版本所做的更改#39; t打破以前的版本