搜索

epub文档 Falcon v1.4.0 Documentation

271.65 KB 230 页 0 下载 202 浏览 0 评论 0 收藏
语言 格式 评分
英语
.epub
3
摘要
Falcon v1.4.0版本文档主要介绍了该框架的最新更新内容,包括新增功能、性能改进和平台支持变化。版本亮点包括新增静态路由功能,支持WebDAV方法(如UPDATE和REPORT),优化JSON处理性能,支持PyPy上的Python 3,并弃用对Python 2.6和Jython 2.7的支持。此外,文档还提到了对钩子(hooks)和中间件功能的增强,以及对请求和响应对象的上下文属性的改进。
AI总结
# Falcon v1.4.0 文档总结 ## 版本更新日志 ### 0.2.0 版本 - **Breaking Changes**: - 移除了 `util.misc.percent_escape` 和 `util.misc.percent_unescape` 函数,建议使用 `util.uri` 模块中的函数。 - 移除了 `API.set_default_route` 方法,建议使用 sinks 替代。 - `HTTPRangeNotSatisfiable` 不再接受 `media_type` 参数。 - `req.get_param_as_list(...)` 不再为查询字符串中的空元素插入 `None`,例如 `"foo=1,,3"` 会返回 `['1', '3']` 而不是 `['1', None, '3']`。 - **新增功能**: - 支持 `wsgi.filewrapper`,允许将文件对象赋值给 `resp.stream` 以高效传输数据。 - 自动解析 `application/x-www-form-urlencoded` 内容,表单字段合并到 `req.params`。 - 支持自定义请求和响应类,通过 `falcon.API` 指定。 - 新增中间件功能,取代了全局钩子,建议尽快迁移。 - 添加 `req.context` 属性用于共享请求上下文信息。 - 新增 `append_header` 方法,允许通过逗号分隔设置多个头值,不适用于设置 Cookie。 - 钩子新增 `resource` 属性,旧钩子兼容 shim。 - 错误响应支持 XML 格式,优化了 `HTTPError` 序列化代码。 ### 1.1.0 版本 - **新增功能**: - 添加 `bounded_stream` 属性,替代 `stream` 属性以减少阻塞。 - 添加 `uri_template` 属性,暴露请求路径对应的路由模板。 - 响应添加 `context` 属性,与请求对齐。 - `get_param_as_dict()` 支持 JSON 编码查询参数值的一步解析。 - 支持 CSV 样式查询参数解析的禁用。 - `get_param_as_bool()` 新增对 `on` 和 `off` 的支持,适应 IE 的复选框默认值。 - 添加 `accept_ranges` 属性设置 `Accept-Ranges` 头。 - 新增 `HTTPUriTooLong` 和 `HTTPGone` 错误类。 - 未指定标题时,`HTTPError` 默认使用 HTTP 状态文本,参数默认可选化。 - 文档澄清 Cookie 相关内容,新增 `falcon.testing.Cookie` 和 `Result.cookie` 属性。 ### 1.4.0 版本 - **平台支持**: - 新增 PyPy 3.5 v5.10 对 Python 3 的支持。 - CPython 3.3 支持已弃用,将在 Falcon 2.0 �移除。 - Python 2.6 和 Jython 2.7 继续弃用,Falcon 2.0 停止支持。 - **新增功能**: - 新增 `add_static_route()` 方法,方便从本地目录提供静态文件。 - 钩子支持传递参数。 - 默认 JSON 处理使用 `ujson` 加速序列化。 - 验证装饰器 `validate()` 新增语义验证。 - 新增 `get_param_as_uuid()` 方法。 - 支持 WebDAV 方法(如 `UPDATE` 和 `REPORT`)。 - 响应类新增 `downloadable_as` 属性设置 `Content-Disposition` 头。 - 重构 `create_http_method_map()` 为 `map_http_methods()` 和 `set_default_responders()`,便于自定义路由选择。 - 新增 `json` 参数到测试模拟请求,自动清理请求正文为 JSON 序列化对象。 ## 安装指南 Falcon 是一个轻量级的 WSGI 库,专为构建高效 Web API 和后端设计。其设计简洁,强调 HTTP 和 REST 风格,避免冗余依赖和抽象,适合追求性能和灵活性的开发者。 ## 快速入门 ```python class CatalogItem(object): @falcon.before(hooks.to_oid) def on_get(self, id): return self.__collection.find_one(id) app = falcon.API(after=[hooks.serialize]) app.add_route('/items/{id}', CatalogItem()) ``` ## 教程与功能 - **请求与响应**:操作简便,提供丰富属性和方法。 - **Cookie**:新增 `falcon.testing.Cookie` 和 `Result.cookie` 属性。 - **状态码**:友好常量如 `falcon.HTTP_NO_CONTENT`。 - **错误处理**:支持 XML 和 JSON 响应,优化 `HTTPError` 序列化。 - **媒体处理**:JSON 处理使用 `ujson` 加速。 - **路由**:灵活配置,支持自定义路由器和静态路由。 - **中间件与钩子**:扩展功能,钩子支持参数传递。 - **测试**:TestClient 提供模拟请求方法,支持默认头和空响应处理。 ## 社区与贡献 Falcon 拥有活跃的社区,鼓励用户参与贡献。文档和扩展库丰富,用户可通过 Wiki 和论坛获取支持和分享经验。 --- 总结:Falcon 作为高效的 Web 框架,通过持续更新和优化,提供了强大的功能和灵活性,适合构建高性能的 Web 应用和 API 后端。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 223 页请下载阅读 -
文档评分
请文明评论,理性发言.