python - 是否可以将路径传递到 fastapi 端点?
问题描述
我正在尝试使用 fastapi 创建一个遍历 api 的文件夹。假设我有这样的终点:
@root_router.get("/path/{path}")
def take_path(path):
logger.info("test %s", path)
return path
如果我对浏览器进行操作并调用“URL:PORT/path/path”
它返回“路径”,很简单。但是,如果我尝试“URL:PORT/path/path/path”,代码甚至不会到达记录器。我想这是有道理的,因为 API 不存在那个端点。但它确实存在于我的服务器上。我已经想出了其他方法来做到这一点,即将路径作为参数数组传递并使用 / 分隔符在代码中重新构建,但是如果我可以通过 url 中的路径移动,则在 url 中传递参数感觉有点笨拙我的服务器,那将是理想的。这是可行的吗?
谢谢。
解决方案
添加:path
到您的参数:
@root_router.get("/path/{path:path}")
async def take_path(path: str):
logger.info("test %s", path)
return path
请注意,这是一个 Starlette 功能。
推荐阅读
- regex - 正则表达式 - 显示目录,排除首页
- c# - c# 我的 Xpath 有问题吗?使用 Package.GetPart 从 DocX 文件中解析 Xml
- python-3.x - 将单个值的 PeriodIndex 应用于 pandas 数据帧的所有行
- php - Laravel 路由视图缓存
- r - 我的包函数修改版找不到包的其他内部函数
- debugging - Jenkins 未在 AWS ec2 t2 大型实例中运行
- javascript - JQuery datepicker不保存选定的日期
- svg - 多个对象上的一个渐变
- vue.js - Vue Js 立即添加事件监听器触发
- sql - 使用 ts_vector 列进行文本搜索