gpt4 book ai didi

java - 在 appengine 中维护 Java Endpoint API 版本

转载 作者:太空宇宙 更新时间:2023-11-04 14:04:52 26 4
gpt4 key购买 nike

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

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

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

我做了什么

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

现在,当我使用 Google 插件 (Eclipse) 为 Android 应用程序生成客户端库时,它会同时导出 v1 和 v2,并生成错误“The type Appendpoint is already Defined”

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

我想要什么

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

所以我想知道

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

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

最佳答案

What is the recommended way to maintain different versions of an endpoint API. How the classes are to be written. Is duplicating the endpoint class on each version of the API and making changes to it the recommended way?

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

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

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

关于java - 在 appengine 中维护 Java Endpoint API 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28971223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com