声明不是路径参数的其他参数时,自动解释成查询参数,也就是位于 URL 的 ?
之后,并以 &
符号分隔的键值对的集合。
默认参数
1 | users = [{'name': 'zhangsan'}, {'name': 'lisi'}, {'name': 'wangwu'}] |
start=0
和 limit=2
的默认值,下面两种方式访问,结果是一样的
1 | http://127.0.0.1:8000/users/ |
必填参数
不声明默认值的参数就是默认参数。注意,有默认值参数和必填参数值都存在时,有默认值参数必须放到必填参数后边。
1 | users = [{'name': 'zhangsan'}, {'name': 'lisi'}, {'name': 'wangwu'}] |
start是填参数,如果不写会报错。
1 | http://127.0.0.1:8000/users/?limit=2 |
可选参数
用Optional,默认值设置为 None
来声明可选参数
1 | users = [{'name': 'zhangsan'}, {'name': 'lisi'}, {'name': 'wangwu'}] |
结果
1 | http://127.0.0.1:8000/users/?start=0 |
路径和查询参数
1 | books = [{'name': 'python'}, {'name': 'fastapi'}, {'name': 'java'}, ] |
结果
1 | http://127.0.0.1:8000/users/123 |