feat: 增加api前缀
This commit is contained in:
parent
9a676f601c
commit
43a4a1f458
26
main.py
26
main.py
|
@ -43,10 +43,14 @@ app = FastAPI(
|
|||
title=config.APP_NAME,
|
||||
version=config.APP_VERSION,
|
||||
description="高效简洁的RAG服务API",
|
||||
docs_url="/docs",
|
||||
redoc_url="/redoc",
|
||||
docs_url="/api/docs",
|
||||
redoc_url="/api/redoc",
|
||||
)
|
||||
|
||||
# 创建API路由器
|
||||
from fastapi import APIRouter
|
||||
api_router = APIRouter(prefix="/api")
|
||||
|
||||
# 添加CORS中间件
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
|
@ -95,7 +99,7 @@ async def verify_token(credentials: HTTPAuthorizationCredentials = Depends(secur
|
|||
return True
|
||||
|
||||
|
||||
@app.get("/", response_model=dict)
|
||||
@api_router.get("/", response_model=dict)
|
||||
async def root():
|
||||
"""根路径 - 服务健康检查"""
|
||||
logger.info("根路径访问")
|
||||
|
@ -106,14 +110,14 @@ async def root():
|
|||
}
|
||||
|
||||
|
||||
@app.get("/health")
|
||||
@api_router.get("/health")
|
||||
async def health_check():
|
||||
"""健康检查接口"""
|
||||
logger.debug("健康检查请求")
|
||||
return {"status": "healthy", "service": config.APP_NAME}
|
||||
|
||||
|
||||
@app.post("/upload", response_model=SuccessResponse)
|
||||
@api_router.post("/upload", response_model=SuccessResponse)
|
||||
async def upload_document(
|
||||
file: UploadFile = File(...),
|
||||
service: AsyncRAGService = Depends(get_rag_service),
|
||||
|
@ -184,7 +188,7 @@ async def upload_document(
|
|||
raise HTTPException(status_code=500, detail=f"文档处理失败: {str(e)}")
|
||||
|
||||
|
||||
@app.post("/chat", response_model=ChatResponse)
|
||||
@api_router.post("/chat", response_model=ChatResponse)
|
||||
async def chat(
|
||||
request: ChatRequest,
|
||||
service: AsyncRAGService = Depends(get_rag_service),
|
||||
|
@ -217,7 +221,7 @@ async def chat(
|
|||
raise HTTPException(status_code=500, detail=f"问答处理失败: {str(e)}")
|
||||
|
||||
|
||||
@app.post("/chat/stream")
|
||||
@api_router.post("/chat/stream")
|
||||
async def chat_stream(
|
||||
request: StreamChatRequest,
|
||||
service: AsyncRAGService = Depends(get_rag_service),
|
||||
|
@ -260,7 +264,7 @@ async def chat_stream(
|
|||
)
|
||||
|
||||
|
||||
@app.get("/documents", response_model=List[DocumentInfo])
|
||||
@api_router.get("/documents", response_model=List[DocumentInfo])
|
||||
async def get_documents(
|
||||
service: AsyncRAGService = Depends(get_rag_service), _: bool = Depends(verify_token)
|
||||
):
|
||||
|
@ -284,7 +288,7 @@ async def get_documents(
|
|||
raise HTTPException(status_code=500, detail=f"获取文档列表失败: {str(e)}")
|
||||
|
||||
|
||||
@app.delete("/documents/{doc_id}", response_model=SuccessResponse)
|
||||
@api_router.delete("/documents/{doc_id}", response_model=SuccessResponse)
|
||||
async def delete_document(
|
||||
doc_id: str,
|
||||
service: AsyncRAGService = Depends(get_rag_service),
|
||||
|
@ -320,6 +324,10 @@ async def global_exception_handler(request, exc):
|
|||
)
|
||||
|
||||
|
||||
# 包含API路由器
|
||||
app.include_router(api_router)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 验证配置
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue