亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中fastapi怎么設置查詢參數可選或必選

發布時間:2022-06-06 09:29:25 來源:億速云 閱讀:265 作者:iii 欄目:開發技術

本篇內容主要講解“python中fastapi怎么設置查詢參數可選或必選”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python中fastapi怎么設置查詢參數可選或必選”吧!

前言:

在fastapi中,我們定義的查詢參數是可以設置成:必選參數 or 可選參數。

可選查詢參數

  • z只要給查詢參數的默認值設置為None,表示該查詢參數是可選參數。

 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是可以區分他們的。

必選查詢參數

  • 當你為查詢參數設置默認值時,則該參數在URL中不是必須的。

  • 如果你不想添加默認值,而只是想使該參數成為可選的,則將默認值設置為 None

  • 但當你想讓一個查詢參數成為必需的,不聲明任何默認值就可以.

  • 比如:這里的查詢參數 needy 是類型為 str 的必需查詢參數。

 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
  • 如果在URL中沒有查詢參數needy,則報錯

 {
     "detail": [
         {
             "loc": [
                 "query",
                 "needy"
             ],
             "msg": "field required",
             "type": "value_error.missing"
         }
     ]
 }

可選和必選參數共存

  • 也可以定義一些參數為必需的,一些具有默認值,而某些則完全是可選的

  • 此時:itme_id是路徑參數,needy是必選路徑參數,skip是有默認值必選查詢參數,limit是可選查詢參數。

 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

為可選參數做類型提示

  • 比如一個可選的參數q,如有該參數時,他的類型是整型,此時定義類型提示如下

  • 使用typing模塊下的Union做類型提示,Union[int, None]表示類型是int或者None

  • 此時對于URL:http://127.0.0.1:8000/items/12?q=12,參數q就會自動轉化為數字12

 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:

  • 可能為空的情況做類型提示,一般使用一個比typing.Union更加方便的類型:typing.Optional

  • 因為,Optional[X] is equivalent to Union[X, None]

  • 所以,上面的類似等價于q: Optional[int] = None\

補充2:

  • 只要給查詢參數默認值None就表示它是可選查詢參數,和類型提示無關。

  • 類型提示的功能在于如果該值存在是他應該是什么類型的變量并做類型轉換和校驗。

到此,相信大家對“python中fastapi怎么設置查詢參數可選或必選”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

章丘市| 唐山市| 五河县| 咸丰县| 土默特右旗| 长丰县| 翁牛特旗| 东方市| 和平县| 沙田区| 江北区| 台中市| 农安县| 同德县| 凤阳县| 华容县| 习水县| 盈江县| 屏边| 彩票| 张家口市| 盐山县| 馆陶县| 营口市| 金堂县| 微博| 礼泉县| 平乐县| 峨眉山市| 蚌埠市| 卓资县| 渭源县| 澄江县| 安陆市| 蓝山县| 崇义县| 盖州市| 平凉市| 鄂伦春自治旗| 邳州市| 宁远县|