我正在开发一个涉及使用Google AppEngine PAAS的移动和网络客户端的项目。我想在我的AppEngine应用程序中使用RESTFul webservices。
我已经查看了Stackoverflow对RESTFul服务框架的引用,这些框架可以与AppEngine一起用于Web(GWT)和移动(Android)客户端。虽然Restlet
似乎为AppEngine,GWT和Android提供了版本,但到目前为止,我已将其归结为RestEasy
,主要是由于此question。
之前曾有过discuss RESTFul frameworks的问题,但我认为比较并不适用于此,现在非常普遍。听取经验丰富的开发人员对这套平台可用框架的看法以及每个平台的优点和缺点将会很有帮助。
答案 0 :(得分:36)
您可能希望考虑使用 Google Cloud Endpoints ,它已被宣布为Google I / O上App Engine的受信任测试人员功能,现在可供所有人使用。使用Endpoints,您可以注释简单的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();
}
}
有关使用端点的详细信息,请查看documentation。
您还可以观看Google I / O的几个演讲:
答案 1 :(得分:2)
我一直在GAE上使用春天的休息服务,并且使用Android Native,Phonegap和IOS客户端消费它,没有任何问题。
http://blog.springsource.org/2009/03/08/rest-in-spring-3-mvc/
答案 2 :(得分:2)
我尊重你决定不使用Restlet,但对于这个帖子的其他浏览器,我已经能够使用Android / Restlet / GAE进行Post工作 - 而且我的知识和编程技巧相当有限。我有一些问题让Restlet版本的Javascript正常工作(它仍处于早期开发阶段),但Restlet for Android没有提出任何问题,我记得。
答案 3 :(得分:0)
如果您正在考虑GAE,您可以考虑的一个选择是duyproject。它知道它的openid库,但它也有一个非常轻量级的REST servlet库。并且使用GAE,您希望保持所有库都亮,这样您就不会超过字节限制。