FastAPI中如何捕获含斜杠的分支名路径变量?
FastAPI捕获带斜杠的路径参数解决方案
FastAPI支持使用路径转换器来捕获包含斜杠的路径参数,具体可以用path转换器,它会匹配该位置之后的所有内容。
修改你的端点定义如下:
@app.post("/{ap_name}/{branch_name:path}") async def your_endpoint(ap_name: str, branch_name: str): return {"ap_name": ap_name, "branch_name": branch_name}
- 这里的
:path是路径转换器,告诉FastAPI将{ap_name}/之后的所有内容都作为branch_name的值,包括斜杠。 - 比如请求路径为
/my-ap/ap/rt/v1时,ap_name会被解析为my-ap,branch_name会被解析为ap/rt/v1,完全满足需求。
注意:这种写法要保证该端点不会和其他更具体的路径端点冲突,因为path转换器会匹配后续所有内容,FastAPI会优先处理路径更明确的端点。
内容的提问来源于stack exchange,提问作者niranjan pb
相关产品推荐
相关产品推荐

