我正在从事一个涉及使用 Google 的 AppEngine PAAS 的移动和网络客户端的项目。我想在我的 AppEngine 应用程序中使用 RESTFul 网络服务。
我在 Stackoverflow 上查看了可与 AppEngine 一起用于 Web (GWT) 和移动 (Android) 客户端的 RESTFul 服务框架的引用资料。尽管 ReSTLet
似乎为 AppEngine、GWT 和 Android 提供了版本,但到目前为止我已经将它归结为 RestEasy
主要是因为这个 question .
以前有问题discuss RESTFul frameworks但我认为这些比较不适用于这种现在很常见的情况。听取经验丰富的开发人员对可用于这组平台的框架的看法以及每个平台的优缺点会很有帮助。
最佳答案
您可能希望考虑使用 Google Cloud Endpoints ,它在 Google I/O 大会上被宣布为 App Engine 的可信测试器功能,现在所有人都可以使用。使用端点,您可以注释简单的 Java(或 Python)类和方法来描述您的 API。例如,这是一个简单的类,用于从 Tic Tac Toe 游戏中获取和检索高分列表:
@Api(name = "tictactoe")
public class ScoreEndpoint {
@ApiMethod(name = "scores.get")
public Score get(@Named("id") String id) {
PersistenceManager pm = getPersistenceManager();
Score score = pm.getObjectById(Score.class, id);
pm.close();
return score;
}
@ApiMethod(name = "scores.list")
public List<Score> list() {
PersistenceManager pm = getPersistenceManager();
Query query = pm.newQuery(Score.class);
return (List<Score>) pm.newQuery(query).execute();
}
}
特点
- 支持 Java 和 Python 运行时
- 建立在 Google 的 API 基础架构上 - 它可与用于 Google 自己的 API 的许多相同工具和库一起使用,例如 APIs Explorer和 APIs Console
- 为 Android 和 iOS 自动生成的静态类型客户端库 - 这些库使用相同的 Google 编写的 Java和 Objective-C用于访问 Google 提供的其他 API(例如日历 API)的库
- 动态类型的 JS 客户端库 - 同样,您使用 JS 访问其他 Google 提供的 API 的库
- 内置对 OAuth 2 的支持
- 与 Eclipse 的 Google 插件集成 - 这允许您自动创建基于模型的 API,或 App Engine 应用程序以支持现有的 Android 应用程序
- 支持本地开发 - 您可以使用 App Engine 开发环境构建和测试您的 API,就像使用其他 App Engine 功能一样
了解更多
查看 documentation有关使用端点的更多详细信息。
您还可以观看来自 Google I/O 的几个演讲:
关于google-app-engine - AppEngine 的 RESTFul 服务框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453561/