REST工具包
项目描述
rest_toolkit 是一个Python包,它提供了一种非常方便的方式来构建REST服务器。它建立在 Pyramid 之上,但您不需要了解Pyramid就可以使用rest_toolkit。
快速示例
这是一个最小示例,它定义了一个带有 GET 视图的 Root 资源,并启动了一个简单的HTTP服务器。如果您运行此示例,您可以通过请求 http://localhost:8080/ 来看到包含状态消息的JSON响应。
from rest_toolkit import quick_serve from rest_toolkit import resource @resource('/') class Root(object): def __init__(self, request): pass @Root.GET() def show_root(root, request): return {'status': 'OK'} if __name__ == '__main__': quick_serve()
变更日志
0.17 - 2019年1月10日
修复了NotImplemented的使用
0.16 - 2018年4月14日
修复了处理数组中JSON验证错误时的错误
0.15 - 2018年4月5日
不要在204响应中设置content-type头
0.14 - 2017年5月25日
修复了对unauthenticated_userid的Pyramid废弃警告
0.13 - 2016年8月18日
如果资源构造函数或视图已引发具有JSON内容类型的异常,则保留响应异常
修改默认的JSON验证错误响应格式:在响应数据中使用具有验证错误的字段作为键。
使用自定义的 rest_toolkit.ext.jsonschema.JSONValidationError 异常来处理 JSON 验证错误。这允许通过定义一个 JSONValidationError 视图来轻松自定义验证错误响应。
0.12 - 2016年6月1日
将额外的资源和控制器参数传递给底层的 add_view() 调用。这允许使用视图的谓词。
0.11 - 2016年5月6日
允许 update_from_dict 返回自定义响应,这将用于默认的 PATCH 和 PUT 视图。
0.10 - 2016年5月4日
不需要为 OPTIONS 请求任何权限。这可能会严重破坏认证,因为 OPTIONS 将被调用来检查是否可以发送与认证相关的头。
如果启用调试,则不要注册捕获所有异常的视图。
0.9 - 2015年9月20日
默认不允许 SQLResource 对象更改主键。这可以通过资源类上的新 allow_primary_key_change 变量进行切换。
为使用默认视图的资源正确设置 Access-Control-Allow-Methods 头。
0.8 - 2015年9月5日
正确处理控制器的 OPTIONS 请求。
对于通用错误视图,不需要任何权限。这修复了在默认权限网站上错误被转换为禁止错误的问题。
0.7 - 2015年3月12日
修复 SQL 资源的编辑。
更新默认视图和验证扩展,不假设 to_dict() 返回格式。
如果设置 rest_toolkit.debug,或者将 REST_TOOLKIT_DEBUG 环境变量设置为 true,或者设置 pyramid 的 debug-all 标志,则系统错误异常处理程序将在响应中添加一个新 traceback 键的异常跟踪。
添加对集合资源的初步支持。这些可以处理创建子对象的 POST 请求。
0.6 - 2014年11月4日
确保路径不以斜杠结尾的资源控制器是可访问的。这修复了 问题 12。
修复代码和文档之间的不匹配:使用 request_method 作为控制器装饰器的参数名称。
0.5 - 2014年10月24日
0.4.1 - 2014年7月18日
确保将所有引发的 HTTP 异常转换为 JSON 响应。
0.4 - 2014年7月18日
本发布重点在于改进文档和修复 SQL 扩展中的问题。
修复 SQLResource 默认视图中的一些错误。
如果您使用 pyramid_sqlalchemy 来处理 SQLAlchemy 集成,则不再需要配置 SQL 扩展。
Travis 现已配置为自动在 CPython 2.7、CPython 3.3、CPython 3.4 和 PyPy 上运行测试。
修复了通用错误视图中的 Python 3 兼容性问题。
删除了对 Python 2.6 的显式支持。测试使用了过多的集合字面量,使得 Python 2.6 不值得使用。
修改 EditableResource 以不继承自 ViewableResource。这使得编辑和查看之间的分离更加明确,并解决了 Python 无法处理基类被多次使用的继承方案的问题。
从 EditableResource.updat_from_dict() 中删除了 replace 的默认值。这没有起到任何有用的作用,并且可能会令人困惑。
在 SQLResource 构造函数中设置 self.request。
0.3 - 2014年7月11日
此版本修复了 SQL 扩展中的几个关键错误。
修复了上下文查询的调用。
当找不到 SQL 行时,从 SQLResource 返回未找到错误,而不是内部错误。
不要自动启用 SQLResource 的默认视图。这应该是由用户明确决定的。
0.2.2 - 2014年7月11日
修复了 SQL 扩展中的几个错误。
0.2.1 - 2014年7月10日
将 MANIFEST.in 添加到源分发安装包中。
0.2 - 2014年7月9日
添加了几个演示,展示了如何使用 rest_toolkit 与 AngularJS 一起使用。
添加了对默认的 DELETE、GET、PATCH 和 PUT 视图的 support。
各种文档修复和改进。
0.1 - 2014年6月24日发布
这是第一个版本。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。