加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2.4_path_adjust.py 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
尹煜 提交于 2023-06-03 10:17 . 1-4章内容
from typing import Union
from fastapi import FastAPI,Path,Query
app = FastAPI()
'''
4.1 Path 使用
'''
@app.get("/items1/{item_id}")
async def read_items(
item_id: int = Path(title="The ID of the item to get"),
):
return {"item_id": item_id}
'''
4.2 按需对参数排序
'''
@app.get("/items2/{item_id}")
async def read_items(
*,
q: str,
item_id: int = Path(title="The ID of the item to get"),
):
results = {"item_id": item_id}
if q:
results.update({"q": q})
return results
'''
4.3 通过 Path 校验
'''
'''数值校验:大于等于'''
@app.get("/items3/{item_id}")
async def read_items(
*, item_id: int = Path(title="The ID of the item to get", ge=1), q: str
):
results = {"item_id": item_id}
if q:
results.update({"q": q})
return results
'''数值校验:大于和小于等于'''
@app.get("/items4/{item_id}")
async def read_items(
*,item_id: int = Path(title="The ID of the item to get", gt=0, le=1000),q: str,
):
results = {"item_id": item_id}
if q:
results.update({"q": q})
return results
'''浮点数、大于和小于'''
@app.get("/items5/{item_id}")
async def read_items(
*,
item_id: int = Path(title="The ID of the item to get", ge=0, le=1000),
q: str,
size: float = Query(gt=0, lt=10.5),
):
results = {"item_id": item_id,"size":size}
if q:
results.update({"q": q})
return results
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化