【问题标题】:Maintaining Java Endpoint API versions in appengine在 appengine 中维护 Java Endpoint API 版本
【发布时间】:2015-03-10 18:19:31
【问题描述】:

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

AppEngine-BackEnd 定义了一个端点“AppEndPoint”。 我已经发布了第一个版本的 android 应用和 appengine 应用。

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

我做了什么

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

现在,当我使用 Google 插件 (Eclipse) 为 android 应用程序生成客户端库时,它会同时导出 v1 和 v2 并生成错误“Appendpoint 类型已定义”

我希望新导出的客户端库中只有 v2。所以从这里我觉得我的方法有问题。我在网上和 StackOverflow 上搜索了很多。但无法获得执行此操作的确切方法。主要是搜索有点困难,因为关键字'endpoint'、'api'、'version'等非常通用。

我想要什么

  1. 我现有的(已经发布的客户端应用)应该仍然能够访问 API 的 v1。
  2. 新应用应该使用 v2

所以我想知道

  1. 维护不同版本的端点 API 的推荐方法是什么。如何编写课程。在每个版本的 API 上复制端点类并对其进行更改是推荐的方式吗?
  2. 如何告诉插件我只想将端点的 v2 导出到端点客户端库?

注意:我使用的是 AppEngine-JAVA,而 Eclipse 是 IDE

【问题讨论】:

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


    【解决方案1】:

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

    您走在正确的轨道上,理想情况下您构建 v1 并继续在其上重新部署,一旦您部署 v2,您的最新 v1 将仍然可用于您的旧应用程序。

    至于您的“已定义”问题,您应该考虑在端点和模型的包中包含版本标记。例如com.example.myendpoint.v2

    这样您将复制代码(复制模型类等)但是您将确保您对新版本所做的更改不会打破旧版本

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 2014-11-27
      • 2015-09-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多