再次声明下,什么是路径操作
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
- ...
这些就是路径操作
那路径操作的配置,其实就是函数参数
为什么要讲配置
可以在 Swagger API 文档中显示这些参数,友好的显示相关信息
来看看有什么配置
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 文档
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 文档