fastapi 允許為你的引數新增附加的資訊和驗證
eg:
from fastapi import fastapi
)"/items/"
)async
defread_items
(q:str
=none):
results =,]
}if q:
results.update(
)return results
附加驗證
我們將在q引數上新增強制驗證,無論是否提供該引數,它將最長擁有50個字元
from fastapi import fastapi, query
)"/items/"
)async
defread_items
(q:str
= query(
none
, max_length=50)
):results =,]
}if q:
results.update(
)return results
使用query作為預設值
現在使用query作為預設引數值,並設定max_length為50
…async def read_items(q: str = query(none, max_length=50)):
…其中第乙個引數為定義的預設值。
這種方式定義將明顯的宣告它為查詢引數。
新增更多的驗證
…async def read_items(q: str = query(none, min_length=3, max_length=50)):
…新增正規表示式
同時也可定義乙個正規表示式來匹配引數。
…async def read_items(
q: str = query(none, min_length=3, max_length=50, regex="^fixedquery$")):…
^表示以什麼為開頭,
$表示以什麼為結尾
使其required
在之前的章節中當引數宣告中沒有預設值得時候,它就是必須的,
q:str
所以當使用query來宣告查詢引數時可以使用…作為第乙個引數,來表示必須。
…async def read_items(q: str = query(…, min_length=3)):
…
符號「…」他是特殊的值,在python中被稱為「ellipsis」query引數使用list或多個值
當使用query來定義查詢引數時可以宣告為接收乙個list,來表示接收多個值
from typing import list
from fastapi import fastapi, query
)"/items/"
)async
defread_items
(q: list[
str]
= query(
none))
: query_items =
return query_items
然後url就可以這樣寫:
直接使用list
from fastapi import fastapi, query
)"/items/"
)async
defread_items
(q:list
= query(
none))
: query_items =
return query_items
在這個例子中fastapi將不會驗證這個list中的值,
新增更多的metadata
新增的這些metadata將自動新增到openapi中,以及docs文件中和其他工具。
deprecating 引數
Oracle instr函式 字串查詢
instr 源字串,目標字串,起始位置,匹配序號 在oracle plsql中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,就是說從字元的開始 到字元的結尾就結束。語法如下 引數分析 string1 源字串,要在此字串中查詢。string2 要在string1中查詢的字串.start...
數字轉字串 字串轉數字
數字轉字串 這裡首先用到乙個陣列逆置函式如下 void reverse char arr 逆置 for p arr p arr p 將arr陣列逆置 因為將乙個數字轉成字串,若果是從右往左依次獲得,操作較容易,所以以此得到的字串是數字的逆序字串,所以要逆置,才可得到順序 如下 void myitoa...
字串 字串轉數字
題目 將乙個字串轉換成數字。例如 123 123,71.02 71.02.方法一,直接呼叫庫函式atoi const char 和atof const char stoi string str include include int main 輸出結果 num int 435 num double ...