python runtime_error ai_generated true

starlette.routing.NoMatchFound: No route matches for path "/items/"

ID: python/starlette-routing-path-param-missing

Also available as: JSON · Markdown · 中文
80%Fix Rate
84%Confidence
0Evidence
2025-08-20First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.x active

Root Cause

The requested URL path doesn't match any defined route, possibly due to trailing slash mismatch.

generic

中文

请求的 URL 路径与任何定义的路由不匹配,可能是由于尾部斜杠不匹配。

Workarounds

  1. 90% success
    Define the route with optional trailing slash: @app.route('/items/{path:path}') or use redirect_slashes=True
  2. 80% success
    Ensure the client sends the correct path: /items (without trailing slash) if your route is '/items'

Dead Ends

Common approaches that don't work:

  1. 50% fail

    If the client doesn't send the slash, it still won't match; you need redirect_slashes=True (default).

  2. 40% fail

    May hide actual errors; better to define specific routes.