SuperAPI AI 工具集

litestar-requests

编程与开发

查看项目

更新于 10-15 16:48

技能介绍

用途:处理 Litestar 框架中的请求解析与访问,覆盖路径、查询、请求头、Cookie、JSON 请求体、表单、multipart 和原始请求输入,强调显式类型与契约一致性。

主要能力:为路径、查询、请求头、Cookie 输入做显式类型标注;需要别名、约束、内容类型或文档时使用 Parameter(...) 与 Body(...) 元数据;需要原始请求体、连接元数据、认证上下文或请求级状态时使用 Request;以显式媒体类型与大小/安全预期处理表单、multipart 和上传。

使用建议:优先使用类型化处理函数参数而非手动解析;已知 schema 时优先使用结构化请求体模型而非无类型 dict;别名与约束贴近参数定义;尽量使用 UUID、枚举、dataclass 等精确类型;仅在类型化 API 不足时才用原始 Request;multipart 与文件上传视为有界资源使用的显式传输选择;保持畸形输入行为确定并与异常处理策略一致。

选择指引:路径、查询、请求头、Cookie 用普通函数参数;需显式别名、校验约束或来源选择用 Parameter(...);JSON 等建模请求体用结构化数据参数;需声明请求体元数据或编码用 Body(...);需 headers、cookies、query_params、url、client、user、auth、state 或原始请求体方法时用 Request;仅当端点确实需要文件传输时才用 multipart 加 UploadFile。

参考文件:参数与请求体模式见 references/parameter-and-body-patterns.md;原始 Request、元数据、表单、multipart 与上传见 references/request-object-and-upload-patterns.md。

限制与反模式:避免在已有类型参数时仍手动解析全部输入;避免已知 schema 时接受无类型载荷;避免把查询、请求头、Cookie 解析逻辑混入处理函数深处;避免无大小或处理计划就急切读取大上传;避免把传输别名或校验规则藏在路由签名之外;避免让请求解析决策渗入响应构建。

相关技能:出站契约用 litestar-responses;校验与客户端错误策略用 litestar-exception-handling;高级转换或自定义解析用 litestar-dto 与 litestar-custom-types;更深入的上传安全与存储用 litestar-file-uploads。

官方参考:https://docs.litestar.dev/2/usage/requests.html 与 https://docs.litestar.dev/2/usage/routing/parameters.html。