使用 FastAPI 获取 URL 参数
Posted
技术标签:
【中文标题】使用 FastAPI 获取 URL 参数【英文标题】:Getting URL parameters by using FastAPI 【发布时间】:2022-01-07 04:07:50 【问题描述】:我想使用 FastAPI 创建一个 API,该 API 从用户获取 url 并仅将 url 作为参数。例如,localhost:8000/tansu?url=www.google.com 是我的 url,我只想要 'url=www.google.com' 部分。在 fastAPI 教程中,我可以从 url 获取参数,但它们是特定的 url,我该如何处理来自用户的随机 url。有人有想法吗?
【问题讨论】:
【参考方案1】:可以使用request参数,然后从那里取很多东西,包括所有的url参数:
from fastapi import FastAPI
from fastapi import Request
app = FastAPI()
@app.get("/tansu")
async def tansu(request : Request):
url = request.query_params.get('url', None)
return 'url' : url
【讨论】:
【参考方案2】:可以使用查询参数
main.py
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/tansu")
async def get_url(
url: str = None
):
return "url": url
现在,运行开发服务器并访问 http://localhost:8000/tansu?url=www.google.com
您将看到以下响应。
"url": "www.google.com"
参考:https://fastapi.tiangolo.com/tutorial/query-params/
【讨论】:
【参考方案3】:use fastapi "query" parameters.
更多信息请访问:doc
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/user")
async def read_item(user: str, url: Optional[str] = None):
if url:
return "user": user, "url": url
return "user": user
【讨论】:
以上是关于使用 FastAPI 获取 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章
API接口开发其实特简单,Python FastApi Web 框架教程来了