【Python百日进阶-Web开发-FastAPI】Day813 - FastAPI 响应模型
文章目录
- 一、返回与输入相同的数据
- 二、添加输出模型
- 三、在文档中查看
- 四、响应模型编码参数
-
- 4.1 使用 response_model_exclude_unset 参数
-
- 4.1.1 默认值字段有实际值的数据
- 4.1.2 具有与默认值相同值的数据
- 4.2 response_model_include 和 response_model_exclude
-
- 4.2.1 使用 list 而不是 set
- 五、总结
https://fastapi.tiangolo.com/zh/tutorial/response-model/
你可以在任意的路径操作中使用 response_model 参数来声明用于响应的模型:
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
等等。
注意,response_model是「装饰器」方法(get,post 等)的一个参数。不像之前的所有参数和请求体,它不属于路径操作函数。
它接收的类型与你将为 Pydantic 模型属性所声明的类型相同,因此它可以是一个 Pydantic 模型,但也可以是一个由 Pydantic 模型组成的 list,例如 List[Item]。
FastAPI 将使用此 response_model 来: - 将输出数据转换为其声明的类型。
- 校验数据。
- 在 OpenAPI 的路径操作中为响应添加一个 JSON Schema。
- 并在自动生成文档系统中使用。
但最重要的是: - 会将输出数据限制在该模型定义内。下面我们会看到这一点有多重要。
响应模型在参数中被声明