1.主要特点
2.Pydantic
基于python 类型提示来自定义数据验证,序列化和文档的库
3.Starlette
轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理想选择
4.ASGI
5.Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| from typing import Optional
from fastapi import FastAPI from pydantic import BaseModel
app = FastAPI()
class CityInfo(BaseModel): province: str country: str is_affected: Optional[bool] = None
@app.get('/') async def hello_world(): return {'hello': 'world'}
@app.get('/city/{city}') async def result(city: str, query_string: Optional[str] = None): return {'city': city, 'query_string': query_string}
@app.put('/city/{city}') async def result(city: str, city_info: CityInfo): return {'city': city, 'country': city_info.country, 'is_affected': city_info.is_affected}
|