跳转到主要内容

定义REST API以访问和管理Zope 2内容

项目描述

infrae.rest 提供了一种简单的方式来编写Zope 2中的REST API。

API

REST组件

infrae.rest 主要提供了一个基类 REST,其行为类似于Grok视图

from infrae.rest import REST

class MyAction(REST):
    """My action REST API.
    """

    def POST(self, name, value):
        # Called by POST /content/++rest++myaction&name=foo?value=bar
        return 'Success'

    def GET(self):
        # Called by GET /content/++rest++myaction
        values = self.context.something()
        return self.json_response(values)

您只需将您的包与Grok结合即可使其可用。

  • 您可以提供: POSTGETHEADDELETE 请求。

  • 您可以使用 grok.namegrok.requiregrok.context 指令来配置您的REST API。它们的工作方式与 grok.View 完全相同。

  • 如果您需要,可以使用 infrae.rest.queryRESTComponent 手动查询REST组件。

嵌套REST组件

您可以嵌套REST组件。在这种情况下,您应该使用grok指令适配器来定义父处理器和上下文

from infrae.rest import REST
from five import grok
from OFS.Folder import Folder

class ParentHandler(REST):
    grok.context(Folder)

    def GET(self):
        # Called by GET /folder/++rest++parenthandler
        return u'Hello'


class ChildHandler(REST):
    grok.adapts(ParentHandler, Folder)

    def GET(self):
        # Called by GET /folder/++rest++parenthandler/childhandler
        return u'Child

RESTWithTemplate组件

您还可以使用基类 RESTWithTemplate。唯一的区别是您的类将自动与Grok模板相关联。

仓库

源代码可在Mercurial中找到:[https://hg.infrae.com/infrae.rest](https://hg.infrae.com/infrae.rest)

变更

1.3 (2013-05-23)

  • RESTWithTemplate 组件中添加对 static 的支持。

  • 更新测试。

1.2 (2012-09-04)

  • 将处理程序的注册表从 zope.component 更改为 zeam.component。这简化了代码库并增加了灵活性。公开 queryRESTComponent 函数。

  • 由于在最近的Zope 2版本中存在错误,因此删除了对Zope 2 shiftNameToApplication 的使用。

1.1 (2011-11-07)

  • 添加对嵌套处理程序的支持。

  • 添加对 absoluteURL 的支持,以便获取处理程序的URL。

  • 添加一个默认组件,该组件与Grok模板相关联。您必须自行触发模板渲染。

  • 当处理程序发布时,会触发一个事件。如果处理程序嵌套,则仅对最后一个触发事件。您可以在遍历事件之后将其视为发布者,除非您可以访问已发布的关联处理程序。

  • 我们现在只使用Python本地的json模块(不再使用simplejson)。

1.0.1 (2010-10-07)

  • 不要将响应定义为属性,以与其他Zope视图(作为混合)兼容。

1.0 (2010-07-15)

  • 初始发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪一个,请了解更多关于 安装包 的信息。

源代码分发

infrae.rest-1.3.tar.gz (9.9 kB 查看哈希)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面