From e7b4f43b6083a7b03281e8558d8850db9e7f9ad9 Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 3 Apr 2026 12:55:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(knowledge):=20=E8=B7=AF=E7=94=B1=E6=94=B9?= =?UTF-8?q?=E7=82=BA=E7=84=A1=E5=B0=BE=E6=96=9C=E7=B7=9A=E9=81=BF=E5=85=8D?= =?UTF-8?q?=20307=20redirect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GET "" 代替 "/" 讓 /api/v1/knowledge 直接回應, 不再觸發 FastAPI trailing-slash 307 重導向。 此修正與 ProxyHeadersMiddleware 雙重保障。 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/api/v1/knowledge.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/src/api/v1/knowledge.py b/apps/api/src/api/v1/knowledge.py index 4aa78198..05aad213 100644 --- a/apps/api/src/api/v1/knowledge.py +++ b/apps/api/src/api/v1/knowledge.py @@ -36,7 +36,7 @@ router = APIRouter(prefix="/knowledge", tags=["Knowledge Base"]) # Endpoints # ============================================================================= -@router.get("/", response_model=KnowledgeListResponse) +@router.get("", response_model=KnowledgeListResponse) async def list_entries( category: str | None = Query(None, description="篩選分類"), entry_type: EntryType | None = Query(None, description="篩選類型"), @@ -85,7 +85,7 @@ async def get_entry(entry_id: str) -> KnowledgeEntry: return entry -@router.post("/", response_model=KnowledgeEntry, status_code=201) +@router.post("", response_model=KnowledgeEntry, status_code=201) async def create_entry(data: KnowledgeEntryCreate) -> KnowledgeEntry: """建立新知識條目""" service = get_knowledge_service()