FastAPI入门:参数、请求、响应及相关操作详解
在构建API服务时,FastAPI提供了丰富的功能来处理各种参数、请求和响应。下面将详细介绍FastAPI中参数设置、请求处理、响应返回以及相关操作的具体内容。
1. 参数设置
在FastAPI中,参数设置分为默认参数、可选参数以及混合参数三种情况。
1.1 默认参数
为避免出现“字段必填”和“值缺失”等验证错误信息,我们需要为某些API服务的查询参数和路径参数指定默认值。这样,无论是否提供参数值,API方法都能正常执行。不同数据类型的默认值通常如下:
| 数据类型 | 默认值 |
| ---- | ---- |
| 数值类型 | 0 |
| 布尔类型 | False |
| 字符串类型 | 空字符串 |
| 列表类型 | [] |
| 字典类型 | {} |
以下是两个应用默认参数的示例服务:
@app.delete("/ch01/delete/users/pending")
def delete_pending_users(accounts: List[str] = []):
for user in accounts:
del pending_users[user]
return {"message": "deleted pending users"}
@app.get("/ch01/login/password/change")
def change_password(username: str,