1. 基础用法
1 | from fastapi import FastAPI |
- 非路径参数的函数参数自动解释为查询参数(如
skip和limit) - 查询参数以
?key=value&key2=value2形式出现在 URL 中
2. 默认值
1 |
|
- 访问
/items/等价于/items/?skip=0&limit=10 - 部分覆盖默认值时(如
?skip=20),未指定的参数保持默认值
3. 可选参数
1 | from typing import Optional |
- 通过
Optional[...] = None或str | None = None声明可选参数 - FastAPI 自动识别参数是否必需
4. 类型转换
1 |
|
bool类型支持多种字符串转换:1/True/true/yes/on均转为True- 无效类型会触发自动错误响应
5. 多参数处理
1 |
|
- 支持同时声明路径参数(
user_id)和查询参数(q) - 参数声明顺序不影响匹配
6. 必需参数
1 |
|
- 没有默认值的参数自动成为必需查询参数
- 缺少必需参数会返回 422 验证错误
7. 自动文档支持
- 交互式文档
/docs自动显示:- 参数类型要求
- 默认值说明
- 枚举值示例(如布尔参数显示可用值)