在Google App引擎上制作REST API

时间:2011-10-06 17:40:54

标签: php python google-app-engine

我有一个PHP Web应用程序,我想为此做一个评论部分。所以,我决定这样做 -

创建一个Python Web应用程序来存储注释并从BigTable中检索注释。我发出一个AJAX请求来存储注释(连同注释和其他参数)并发出一个AJAX请求以JSON格式从BigTable获取所有注释(是否可以直接返回格式化的HTML以便我可以只需替换发出请求的父页面中的div。

这里的问题是PHP Web应用程序在不同的域上运行,我不确定是否可以进行AJAX调用 - 这是否违反了跨域安全策略。如果是,那么基于REST的API如何工作 - 我可以在哪里发出AJAX请求并获取JSON作为响应。

理想情况下,我想直接从GAE返回格式化的HTML。但如果那是不可能的,那我就回复JSON了。

可以这样做吗?如果是,那么关于如何制作这样的API的任何指针都会很有用。如果不是,有哪些解决方法?

2 个答案:

答案 0 :(得分:2)

大多数浏览器不允许跨源XHR。一般的解决方法是JSONP,这基本上意味着使用脚本标记来调用远程javascript,它将响应数据传递给本地回调。

没有关于此问题或解决方案的App Engine特定内容。

答案 1 :(得分:0)

查看RockWall REST API引擎。

基本有用功能列表:

  • 通过单个HTTP请求发出多个请求(REST API)。
  • 所有请求的统一且稳定的响应格式。
  • 通过类型检测的依赖性执行端点方法(静态或是否)。
  • 请求修改器功能。
  • 允许声明每个请求应使用哪种类型的实例(新实例,Singleton或Singleton的新实例)。
  • 跨域AJAX请求支持。
  • ......还有更多......