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

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

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

这些就是路径操作

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

 

为什么要讲配置

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

 

来看看有什么配置

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

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 文档

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

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

 

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 路径操作的配置

 

上一篇:高端音响的死亡被大大夸大了


下一篇:JObject Or JArray 小 tips