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, fieldFastAPI學習筆記 一 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在沒有修...