SuperAPI AI 工具集

request-validation

编程与开发

查看项目

更新于 10-15 20:30

技能介绍

用途:面向所有接收用户输入的 API 端点,在进入业务逻辑前完成请求校验与字符串清洗,涵盖表单提交、文件上传、查询参数、Webhook 载荷等场景。

主要能力:以 Zod(TypeScript)与 Pydantic(Python)定义 schema,做类型推断、字段约束、默认值、枚举、正则、UUID/邮箱校验;自定义验证器支持电话格式化、slug 校验、日期字符串转 Date、HTML 白名单清洗、文件类型与大小限制。提供 Express 校验中间件 validate(schemas),可分别校验 body、query、params,捕获 ZodError 并返回统一错误响应:{"error":"Validation failed","details":[{field,message}]}。FastAPI 侧用 BaseModel 与 Query/Path 约束实现同类校验。

使用方式:先定义 schema,再通过中间件或 FastAPI 依赖注入绑定到路由,例如 validate({ body: createUserSchema });查询参数可带默认值与范围限制(page>=1,limit 1-100)。资料中的代码示例可直接复用,但需按项目调整。

适用场景:用户注册/更新、用户列表分页查询、文件上传、Webhook 等需要输入约束的接口。

限制与注意:资料未说明 Joi 的具体代码示例;未提供安装命令、依赖版本、性能数据、收费信息。最佳实践建议在边缘校验、用 schema 推断类型、给出可修复的错误提示、清洗字符串、设置合理默认值;常见错误包括在数据库操作之后才校验、错误信息过于笼统、不校验查询参数、字符串缺少最大长度(DoS 风险)、未清洗 HTML。