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(54)- 详解 Request 请求对象

FastAPI 等效于 Flask 的 request.form,用于不可知的表单

FastAPI 中间件窥探响应

FastAPI报错 Invalid HTTP request received.

Python爬虫教程-08-post介绍(百度翻译)(下)