如何使用域获取 FastAPI 中的当前路径?

2024-04-01

我有一个用 FastAPI 编写的简单路线,如下所示,

from fastapi import FastAPI

app = FastAPI()


@app.get("/foo/bar/{rand_int}/foo-bar/")
async def main(rand_int: int):
    return {"path": f"https://some-domain.com/foo/bar/{rand_int}/foo-bar/?somethig=foo"}

如何获取当前路径“以编程方式” with,

  • domain (some-domain.com)
  • path (/foo/bar/{rand_int}/foo-bar/)
  • 和查询参数(?somethig=foo)

我们可以使用Request.url-(明星文档) https://www.starlette.io/requests/#url用于获取各种 URL 属性的 API。要获取绝对 URL,我们需要使用Request.url._url私有 API(或str(Request.url)), 如下

from fastapi import FastAPI, Request

app = FastAPI()


@app.get("/foo/bar/{rand_int}/foo-bar/")
async def main(rand_int: int, request: Request):
    return {"raw_url": str(request.url)}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用域获取 FastAPI 中的当前路径? 的相关文章

随机推荐