系列文章:
FastAPI 學習之路(一)fastapi--高性能web開發框架
FastAPI 學習之路(二)
FastAPI 學習之路(三)
FastAPI 學習之路(四)
FastAPI 學習之路(五)
FastAPI 學習之路(六)查詢引數,字串的校驗
我們之前在宣告必須的引數的時候呢,我們沒有對長度做限定,現在我們要限定長度,長度8-16位,我們怎么來實作這個需求呢,
from fastapi import FastAPI, Query app = FastAPI() @app.get("/items/") def read(paword: str = Query(..., min_length=8,max_length=16)): results = {"items": [{"oneid": "shanghai"}, {"two": "beijing"}]} if paword: results.update({"paword": paword}) return results
其實實作起來很簡單,這里需要說明:當你在使用 Query 且需要宣告一個值是必需的時,可以將 ... 用作第一個引數值,
那么我們去請求下,測驗用例如下:
1.沒有傳遞paword引數,結果如下:

2.傳遞引數,但是長度不滿足


兩個長度一個是小于8位,一個是大于16位,
3.傳遞正確長度引數

我們假設的需求滿足了,可能有人會問...,可以看官方檔案的https://docs.python.org/3/library/constants.html#Ellipsis有介紹,
當我們傳遞 多個值,應該如何實作呢
from fastapi import FastAPI, Query from typing import List, Optional app = FastAPI() @app.get("/items/") def read(paword: Optional[List[str]] = Query(None)): results = {"items": [{"oneid": "shanghai"}, {"two": "beijing"}]} if paword: results.update({"paword": paword}) return results
其實很簡單,就是傳遞一個list的引數,那么我們去請求下,
1.輸入兩個字測驗,

2.輸入兩個值測驗

這樣滿足了我們的需求,我們可以看下介面檔案,

介面檔案我們也是可以傳遞多個引數的,當然我們在query還可以傳遞很多內容,如:
alias#別名引數
title#標題
description #描述,會在借口檔案有表述
deprecated#棄用引數
還有特定的校驗
-
min_length -
max_length -
regex
文章首發在公眾號,歡迎關注,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/320883.html
標籤:其他
上一篇:https全決議
