python
config_error
ai_generated
true
fastapi.routing.APIRoute: Route order conflict: /items/{item_id} conflicts with /items/new
ID: python/fastapi-route-order-conflict
80%Fix Rate
88%Confidence
0Evidence
2024-03-08First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.x | active | — | — | — |
Root Cause
FastAPI 中动态路由和静态路由顺序不当,导致动态路由捕获了静态路径。
generic中文
FastAPI 中动态路由和静态路由顺序不当,导致动态路由捕获了静态路径。
Workarounds
-
95% success
@app.get('/items/new') async def new_item(): ... @app.get('/items/{item_id}') async def get_item(item_id: int): ... -
90% success
@app.get('/items/{item_id:\\d+}') async def get_item(item_id: int): ...
Dead Ends
Common approaches that don't work:
-
50% fail
如果业务需要这两个路径,忽略会导致功能缺失。
-
60% fail
FastAPI 按定义顺序匹配,交换后可能仍冲突。