亲宝软件园·资讯

展开

python  fastapi

​ 小飞牛   ​ 人气:1

前言:

在fastapi中,我们定义的查询参数是可以设置成:必选参数 or 可选参数。

可选查询参数

 from fastapi import FastAPI
 ​
 app = FastAPI()​
 @app.get("/items/{item_id}")
 async def read_item(item_id: str, q=None):
     data = {"item_id": item_id}
     if q:
         data["q"] = q
     return data

补充:此时路径操作函数内的参数有两个,一个是路径参数item_id,一个是查询参数q,fastapi是可以区分他们的。

必选查询参数

 from fastapi import FastAPI
 ​
 app = FastAPI()​
 @app.get("/items/{item_id}")
 async def read_user_item(item_id: str, needy: str):
     item = {"item_id": item_id, "needy": needy}
     return item
 {
     "detail": [
         {
             "loc": [
                 "query",
                 "needy"
             ],
             "msg": "field required",
             "type": "value_error.missing"
         }
     ]
 }

可选和必选参数共存

 from fastapi import FastAPI
 ​
 app = FastAPI()
 @app.get("/items/{item_id}")
 async def read_user_item(
     item_id: str, needy: str, skip: int = 0, limit=None
 ):
     item = {"item_id": item_id, "needy": needy, "skip": skip, "limit": limit}
     return item

为可选参数做类型提示

 from typing import Union​
 from fastapi import FastAPI
 app = FastAPI()​
 @app.get("/items/{item_id}")
 async def read_item(item_id: str, q: Union[int, None] = None):
     data = {"item_id": item_id}
     if q:
         data["q"] = q
     return data

补充1:

补充2:

加载全部内容

相关教程
猜你喜欢
用户评论