有关使用Python在App Engine上实现REST API的任何指示,建议吗?使用webapp
作为应用程序本身。
我目前所知道的是我可以:
破解我自己的webapp
处理程序来处理类似REST的URI,但这似乎失去了对大量资源的优雅。我的意思是,它涉及到temperature/atlanta
时很简单,但对于一个相当简单的/users/alice/address/work
来说并不是那么多*(尽管请记住,在实施之后我不会这样说,就在之后花一些时间试图设计一个合适的处理程序,所以我的看法可能已经消失了。
使用其中一个较大的Python Web框架提供的REST功能。我对web2py
有一些无法解释的同情,但是,因为它没有用于项目,所以将它与应用程序捆绑起来只是为了提供一些REST功能似乎......过度了?
(嗯,看起来我不喜欢这些方法。坚韧。)
所以我在这里问:在这里,你有什么建议,最好是基于经验的?我有什么选择,我对它们的看法是正确的,我是否错过了什么?
提前致谢。
答案 0 :(得分:10)
我有类似的问题。想要通过REST快速将我的DataStore暴露给WebApps。
到目前为止,我只是轻易使用它,但对于少量的工作来说它似乎非常有用。它确实使用了你建议的webapp。
答案 1 :(得分:6)
ProtoRPC与SDK捆绑在一起,并且功能强大且积极开发(无论是实验性的)。虽然我认为源代码本身有点复杂,但功能集非常完整,它是由具有创建此类库的经验的人制作的。它支持使用JSON,ProtocolBuffer和URL编码格式进行传输。
此外,您可以创建在服务器端和客户端工作的API - 它定义了一个带有Python和JavaScript实现的“消息”协议。我使用了其他“RESTful”Python库,但没有其他人提供开箱即用的这种一致性。
Here is the project page和here is the mailing list。
编辑:也许他们的文档缺少一些关键字,但只是要明确:ProtoRPC的一个或目的是为创建REST服务提供坚实的基础。