FastAPI學習筆記 一 8 請求體和字段驗證

2022-09-09 16:54:26 字數 1969 閱讀 8778

1

'''2

@author:invoker

3@project:fastapi202108

4@file: chapter033.py

5@contact:[email protected]

6@descript:

7@date:2021/8/6 8:32

8@version: python 3.7.8

9'''

1011

from fastapi import

apirouter

12from pydantic import

basemodel, field

1315

16"""

173.3 請求體+欄位驗證

18"""

1920

21class

cityinfo(basemodel):

22 name: str = field(..., example='

wuhan1

',title='

城市名稱

') #

field後三個點,沒有預設值表示必填項

23 country: str = field(..., title='

國家名稱

') #

沒有預設值,必填項

24 country_code: str = field(default=none, title='

國家編碼

') #

有預設值為none,表示選填項

25 country_population: int = field(default=800, title='

人口數量

', description='

國家人口數量

', ge=800)

2627

#有預設值default=800表示選填項

2829

#這個config並沒有什麼效果30#

寫成config就有效果

31class

config:

32 schema_extra =39}

4041

/request_body/city")

43 async def

city_info(city: cityinfo):

44print(city.name, city.country) #

列印部分在控制台展示

name: str = field(..., example='wuhan1',title='城市名稱') # field後三個點,沒有預設值表示必填項

country: str = field(..., title='國家名稱') # 沒有預設值,必填項

country_code: str = field(default=none, title='國家編碼') # 有預設值為none,表示選填項

country_population: int = field(default=800, title='人口數量', description='國家人口數量', ge=800)

field中設定的example,title,description等資訊在schema中展示

請求體中字段的校驗用到了field類

from pydantic import basemodel, field

FastAPI學習筆記 一 1 學習資料

一 學習資料 1.bilibili 2.github 3.fastapi 4.pydantic 5.starlette 二 fastapi,starlette,pydantic之間的關係 2.1python3.5以後有乙個type hints,型別提示 2.2而pydantic是基於python的型...

Web學習筆記(一) HTTP請求

手頭有本 web安全深度剖析 感覺很裝逼,就看了看。客戶端傳送request請求,服務端返回response請求 客戶端一般就是我們用的瀏覽器,服務端一般是高效能的計算機 組 比如www.baidu.com就代表乙個伺服器的位址,即網域名稱。伺服器的ip位址難以記憶,通過dns domain nam...

學習筆記8

1.vim的三種模式 命令模式插入模式退出模式 2.進入insert模式的方法 i 游標所在位置插入 i 游標所在行首插入 a 游標所在字元的下一位插入 a 游標所在行的行首插入 o 游標所在行的下一行插入 o 游標所在行的上一行插入 3.在退出模式中 wq退出並儲存 wq 強行退出儲存 q在沒有修...