再次声明下,什么是路径操作
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
- ...
这些就是路径操作
那路径操作的配置,其实就是函数参数
为什么要讲配置
可以在 Swagger API 文档中显示这些参数,友好的显示相关信息
来看看有什么配置
response_model 相关的前面已经讲过了:https://www.cnblogs.com/poloyy/p/15317585.html
status_code 也是:https://www.cnblogs.com/poloyy/p/15318139.html
这一篇会讲的配置项
- 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"}]