新年快乐,今天主要是唠唠如何传请求体
当需要给api
发送一些数据时,就需要用到请求体了。
请求体就是客户端给api
发送的一些数据,响应体是api
发送给客户端的一些数据。
这里就不能使用 GET 操作(HTTP 方法)发送请求体。
要发送数据,你必须使用下列方法之一:POST(较常见)、PUT、DELETE 或 PATCH。
请求体
如何发送,怎么发送,fastapi
给提供了专门的方法,fastapi
提供了Pydantic
来声明请求体:
- 首先
pydantic
中的BaseModel
:
from pydantic import BaseModel
- 其次创建数据模型、声明字段并定义接口
from pydantic import BaseModel
from typing import Optional
class ItemsApi(BaseModel):
name: str
money: float
description: Optional[str] = None
app = FastAPI()
@app.post("/create/")
def create_data(items: ItemsApi):
return items
创建ItemsApi
类并继承父类BaseModel
,name
、money
和description
就是声明的字段,主要是用于数据传输。而description
是非必传字段。
注释信息:
items: ItemsApi
就可以调用ItemsApi
类中的字段。
启动服务,并进行传参
192:fastapiProject lifeng$ uvicorn body_main:app --reload
INFO: Will watch for changes in these directories: ['/Users/lifeng/python-projects/python-code/fastapiProject']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [41993] using statreload
INFO: Started server process [41995]
启动成功后,利用postman
访问接口进行测试:
POST :http://127.0.0.1:8000/items/
</