定义一个rest api来访问和管理zope 2内容

infrae.rest的Python项目详细描述


infrae.rest提供了在zope 2中编写restapi的简单方法。

API

其余部分

infrae.rest主要提供一个基类REST,它的行为 很像一个怪诞的景象:

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)

你只要摸摸你的包裹就可以了。

  • 您可以提供:POSTGETHEADDELETE请求。
  • 您可以使用指令grok.namegrok.requiregrok.context来配置rest api。它们的工作原理和 在grok.View上。
  • 如果需要,可以使用帮助手动查询rest组件 总共infrae.rest.queryRESTComponent

嵌套休息组件

您可以嵌套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

更改

1.3(2013-05-23)

  • RESTWithTemplate组件上添加对static的支持。
  • 更新测试。

1.2(2012-09-04)

  • 将处理程序的注册表从zope.component更改为 zeam.component。这简化了代码库并带来了更多 灵活性。公开queryRESTComponent函数。
  • 删除zope 2shiftNameToApplication的用法,因为这是错误的 在最近的zope 2版本中。

1.1(2011-11-07)

  • 添加对嵌套处理程序的支持。
  • 添加对absoluteURL的支持,以便获取处理程序的url。
  • 添加与grok模板关联的默认组件。你 必须自己触发模板渲染。
  • 在发布处理程序时触发事件。如果处理者 如果是嵌套的,则只触发最后一个事件。你可以 在遍历事件后作为发布者查看,但您可以访问 已发布的关联处理程序。
  • 我们现在只使用python本机json模块(不再使用 simplejson)。

1.0.1(2010-10-07)

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

1.0(2010-07-15)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript通过WebSocket将服务器时间推送到多个客户端   这种java字节转换是如何工作的   数据库错误。sql。SQLEception:参数索引超出范围(1>参数数,为0)   java如何在搜索时过滤选定的viewpager片段中的recyclerview?   java如何使用OpenCV将图像转换为黑白图像并在ANDROID中消除阴影   Spring MVC项目中的java HTTP服务器状态404错误   Spring MVC中的java JSR303自定义约束验证器   java如何基于另一个ArrayList的值显示ArrayList中的特定项?   java如何在firebase messages节点获取最后发送给我的消息?   部署后在google app engine上运行servlet时发生java错误   java如何使用servlet在两个jsp之间发送数据   java日历年中的周是月中的周   从URL读取一个资源并直接返回这些字节作为REST请求的响应,Java 7和spring MVC 3.2不存储内存