【问题标题】:Python REST frameworks for App Engine?App Engine 的 Python REST 框架?
【发布时间】:2011-10-20 17:05:59
【问题描述】:

关于使用 Python 在 App Engine 上实现 REST API 的任何指针和建议?将webapp 用于应用程序本身。

我目前知道的是我可以:

  • 破解我自己的 webapp 处理程序来处理类似 REST 的 URI,但对于大量资源,这似乎失去了它的优雅。我的意思是,temperature/atlanta 很简单,但即使是相当简单的/users/alice/address/work 也没有那么简单*(但请记住,我不是在实施之后才说这个,只是在花了一些时间尝试之后设计一个合适的处理程序,所以我的看法可能是错误的)。

  • 使用现有较大的 Python Web 框架之一提供的 REST 功能。我对web2py 有一些无法解释的同情,但是,由于它不用于项目,因此将它与应用程序捆绑在一起只是为了提供一些 REST 功能似乎......矫枉过正?

(嗯,看起来我不喜欢这些方法中的任何一种。很难。)

所以我要问:你有什么建议,最好是基于经验,你可以给我什么建议?我有哪些选择,我对它们的看法是否正确,我是否遗漏了什么?

提前致谢。

【问题讨论】:

  • 如果你必须坚持使用webapp,你可以使用Appengine Rest Server。如果您可以使用其他框架,Django Rest Interface 是一个更强大的解决方案。
  • @Paolo 我也打算推荐 Appengine Rest Server,但在阅读了文档后,我没有找到任何关于复杂 url 模式的指针,就像 OP 建议的那样。
  • @systempuntoout 你是对的,这也是我建议Django Rest Interface 的原因,因为你可以定义自己的 URL 模式。

标签: python api google-app-engine rest frameworks


【解决方案1】:

我遇到了类似的问题。想要通过 REST 快速让我的 DataStore 暴露给 WebApps。

找到:AppEngine REST Server

到目前为止,我只是轻轻地使用了它,但它确实看起来对少量的工作非常有用。它确实按照您的建议使用 webapp。

【讨论】:

【解决方案2】:

ProtoRPC 与 SDK 捆绑在一起,它很健壮且积极开发(但仍处于试验阶段)。虽然我认为源代码本身有点复杂,但功能集非常完整,并且是由具有创建此类库的经验的人制作的。它支持使用 JSON、ProtocolBuffer 和 URL 编码格式传输。

此外,您可以创建在服务器端客户端工作的 API——它定义了一个“消息”协议,并在 Python 和 JavaScript 中实现。我使用了其他“RESTful”Python 库,但没有其他库提供这种开箱即用的一致性。

Here is the project pagehere is the mailing list

编辑:也许他们的文档缺少一些关键字,但要明确一点:ProtoRPC 的一个或目的是为创建 REST 服务提供坚实的基础。

【讨论】:

  • ProtoRPC 与 Rest API 有什么共同点?
  • @systempuntoout:一切。 :) ProtoRPC 可用于创建 REST 服务。
  • ProtoRPC 能否根据使用的 HTTP 方法采取不同的操作?
  • @moraes,你能不能给我展示或指出一些正在完成的示例代码?我已经阅读了 App Engine 文档中的大部分介绍文章,到目前为止我还没有看到类似的情况发生。
  • @maligree 我认为这不是微不足道的。正如 systempuntoout 指出的那样,我很遗憾建议 ProtoRPC,因为它主要不是为此而设计的。可以,但您必须熟悉它的内部结构。抱歉打扰了。
猜你喜欢
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
相关资源
最近更新 更多