fastapi教程翻译(四):Request Body(请求体)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastapi教程翻译(四):Request Body(请求体)相关的知识,希望对你有一定的参考价值。
参考技术A当您需要将数据从客户端(例如浏览器)发送到API时,可以将其作为 “请求体” 发送。
请求体 是客户端发送到您的API的数据。 响应体 是您的API发送给客户端的数据。
API几乎总是必须发送一个 响应体 ,但是客户端并不需要一直发送 请求体 。
定义 请求体 ,需要使用 Pydantic 模型 。
例如,上面的模型 Item 声明了一个 JSON 对象(或Python dict ),例如:
... description 和 tax 属性是可选的(因为有默认值 None ),所以下面这个 JSON 对象也是有效的:
将上面定义的模型添加到你的路径操作中,就和定义Path和Query参数一样的方式:
...声明参数的类型为你创建的模型 Item .
通过那样定义Python 类型为 pydantic 的 model , FastAPI 将会:
模型的 JSON Schema 将成为OpenAPI生成模式的一部分,并将显示在交互式API文档中:
并且还将在需要它们的每个路径操作的API文档中使用:
在你的编辑器中,编写的函数中,你将会获得类型提示和补全:
您也会获得类型操作错误检查:
Pydantic 本身甚至进行了一些更改以支持此操作。
但是您可以通过 PyCharm 和大多数其他Python编辑器获得相同的编辑器支持:
在函数内部,您可以直接访问模型对象的所有属性:
你可以同时定义 Path参数 和 请求体参数 .
你可以同时定义 Path参数 、 Query参数 和 请求体参数 .
** FastAPI **将识别它们中的每一个并从正确的位置获取数据。
以上是关于fastapi教程翻译(四):Request Body(请求体)的主要内容,如果未能解决你的问题,请参考以下文章
fastapi教程翻译(十六):Form Data(表格数据)
FastAPI 等效于 Flask 的 request.form,用于不可知的表单