Merge pull request 'fix: P0 - 禁用 redirect_slashes 修复 307 重定向导致前端新建失败' (#85) from fix/p0-307-redirect into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled

This commit was merged in pull request #85.
This commit is contained in:
2026-06-28 20:07:49 +08:00
4 changed files with 7 additions and 6 deletions
+2 -2
View File
@@ -79,7 +79,7 @@ def _ensure_library_has_ready_video_assets(assets) -> None:
)
@router.post("/tasks/", response_model=GenerationTaskResponse)
@router.post("/tasks", response_model=GenerationTaskResponse)
def create_generation_task(
request: CreateGenerationTaskRequest,
authenticated_user: AuthenticatedUser = Depends(get_current_user),
@@ -130,7 +130,7 @@ def get_generation_task(
return _to_generation_task_response(task)
@router.get("/tasks/{task_id}/results/", response_model=ListGeneratedVideosResponse)
@router.get("/tasks/{task_id}/results", response_model=ListGeneratedVideosResponse)
def list_generation_results(
task_id: str,
authenticated_user: AuthenticatedUser = Depends(get_current_user),
+2 -2
View File
@@ -57,7 +57,7 @@ def _get_user_plan(user_id: str, user_repository: UserRepository) -> str:
return getattr(user, "subscription_plan", "free") or "free"
@router.get("/", response_model=ListTitleLibraryResponse)
@router.get("", response_model=ListTitleLibraryResponse)
def list_titles(
category: Optional[str] = Query(None),
skip: int = Query(0, ge=0),
@@ -89,7 +89,7 @@ def get_title(
return _to_response(item)
@router.post("/", response_model=TitleLibraryItemResponse, status_code=status.HTTP_201_CREATED)
@router.post("", response_model=TitleLibraryItemResponse, status_code=status.HTTP_201_CREATED)
def create_title(
request: CreateTitleLibraryRequest,
authenticated_user: AuthenticatedUser = Depends(get_current_user),
+2 -2
View File
@@ -61,7 +61,7 @@ def _get_user_plan(user_id: str, user_repository: UserRepository) -> str:
return getattr(user, "subscription_plan", "free") or "free"
@router.get("/", response_model=ListVoiceLibraryResponse)
@router.get("", response_model=ListVoiceLibraryResponse)
def list_voices(
status_filter: Optional[str] = Query(None, alias="status"),
skip: int = Query(0, ge=0),
@@ -93,7 +93,7 @@ def get_voice(
return _to_response(item)
@router.post("/", response_model=VoiceLibraryItemResponse, status_code=status.HTTP_201_CREATED)
@router.post("", response_model=VoiceLibraryItemResponse, status_code=status.HTTP_201_CREATED)
def create_voice(
request: CreateVoiceLibraryRequest,
authenticated_user: AuthenticatedUser = Depends(get_current_user),
+1
View File
@@ -24,6 +24,7 @@ app = FastAPI(
version=settings.APP_VERSION,
docs_url="/docs",
redoc_url="/redoc",
redirect_slashes=False,
)
app.add_exception_handler(APIException, api_exception_handler)