Die Fastapi -Route funktioniert lokal mit `/`, aber nicht auf Vercel (und umgekehrt)
Posted: 05 Sep 2025, 02:26
Ich habe ein Fastapi + Next.js -Projekt, das auf Vercel bereitgestellt wird. wie erwartet. 404 oder .vercel.app/api/user/net :: err_too_many_redirects
Ich habe versucht, den Schrägstrich in der Routendefinition zu entfernen: und/api/_schema_status return ok). Vercel.json routes /api/(.*) → /api/index.py.
Frage
Code: Select all
from fastapi import APIRouter, Depends
from ..schemas.user import UserOut
from ..auth import require_admin
from ..repositories.users import list_users
user_router = APIRouter(prefix="/users", tags=["users"])
@user_router.get("/", response_model=list[UserOut])
def get_users(_: UserOut = Depends(require_admin)):
return list_users()
< /code>
Lokal (Uvicorn) < /p>
GET http://localhost:8001/api/users/< /code> funktioniert.
GET http://localhost:8001/api/users redirects to /users/
Code: Select all
GET https://myapp.vercel.app/api/users/< /code> → 500
GET https://myapp.vercel.app/api/users
Ich habe versucht, den Schrägstrich in der Routendefinition zu entfernen:
Code: Select all
@user_router.get("", response_model=list[UserOut])
def get_users(_: UserOut = Depends(require_admin)):
return list_users()
< /code>
Jetzt funktioniert es auf Vercel, fällt jedoch lokal aus (404)./api/db-check
Frage
- Warum gibt es diese Inkompatibilität zwischen lokaler und sachel. Vercel ohne Code ändern zu müssen?