再次声明下,什么是路径操作

  • @app.get()
  • @app.post()
  • @app.put()
  • @app.delete()
  • ...

这些就是路径操作

那路径操作的配置,其实就是函数参数

 

为什么要讲配置

可以在 Swagger API 文档中显示这些参数,友好的显示相关信息

 

来看看有什么配置

FastAPI(26)- Path Operation Configuration 路径操作的配置_FastAPI

response_model 相关的前面已经讲过了​

status_code 也是:​​​

 

这一篇会讲的配置项

  • tags
  • summary
  • description
  • deprecated
  • name

 

实际栗子



class Item(BaseModel):
name: str
description: Optional[str] = None
price: float
tax: Optional[float] = None
tags: Set[str] = []


@app.post("/items/",
response_model=Item,
tags=["items"],
deprecated=True,
)
async def create_item(item: Item):
return item


@app.get("/items/",
tags=["items"],
status_code=status.HTTP_201_CREATED,
summary="Create an item =======",
description="路径操作描述",
response_description="响应描述"
)
async def read_items():
return [{"name": "Foo", "price": 42}]


 

查看 Swagger API 文档

FastAPI(26)- Path Operation Configuration 路径操作的配置_FastAPI_02

FastAPI(26)- Path Operation Configuration 路径操作的配置_函数参数_03

 

description 的第二种传参方式

这种方式可以在字符串内写 MarkDown 哦,FastAPI 可以识别到它



@app.get("/users/", tags=["users"])
async def read_users():
"""
Create an Users with all the information:

tags is users
"""
return [{"username": "johndoe"}]


 

查看 Swagger API 文档

FastAPI(26)- Path Operation Configuration 路径操作的配置_FastAPI_04