脚本宝典收集整理的这篇文章主要介绍了FastAPI(5)- get 请求 - 查询参数 Query Parameters,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
http://127.0.0.1:8000/get?name=xxx&age=18
http://127.0.0.1:8000/get?age=18&name=xxx
在 url 的 ? 后面跟着的一组或多组键值对,就是查询参数
From fastapi import FastAPI import uvicorn app = FastAPI() # 路径参数+请求参数 @app.get("/ITems/{item_id}") async def read_item(item_id: str, name: str): return {"item_id": item_id, "name": name} if __name__ == "__main__": uvicorn.run(app="3_get_query:app", host="127.0.0.1", port=8080, reload=True, debug=True)
from typing import Optional # 必传参数+可选参数 @app.get("/items") async def read_item(item_id: str, name: Optional[str] = None): return {"item_id": item_id, "name": name}
name 没传所以取默认值 None
# 查询参数类型转换 @app.get("/items/{item_id}") async def read_item(item_id: str, q: Optional[str] = None, short: bool = False): item = {"item_id": item_id} if q: item.update({"q": q}) if not short: # 如果 short == False,则加多一个键 description item.update( {"description": "This is an amazing item that has a long description"} ) return item
from enum import Enum from typing import Optional, List # 自定义枚举类 class ModelName(Enum): boy = "男" girl = "女" unknown = "不知道" @app.get("/item_enum") async def read_item(name: str, sex: Optional[ModelName] = ModelName.unknown): return { "name": name, "sex": sex }
不传 sex,会取 sex 的默认值:枚举类中的 unknown 的值
# List[str] @app.get("/list") async def read_item(address: List[str] = None): return {"address": address}
答案也是不行
用 Query 库! 下一篇会讲到!
https://www.cnblogs.COM/poloyy/p/15306809.htML
以上是脚本宝典为你收集整理的FastAPI(5)- get 请求 - 查询参数 Query Parameters全部内容,希望文章能够帮你解决FastAPI(5)- get 请求 - 查询参数 Query Parameters所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。