32 lines
839 B
Python
32 lines
839 B
Python
"""最小化测试:确认 FastAPI 路由是否正常"""
|
|
from fastapi import FastAPI, APIRouter
|
|
from pydantic import BaseModel
|
|
|
|
app = FastAPI()
|
|
|
|
# 测试1:直接定义路由
|
|
class LoginRequest(BaseModel):
|
|
username: str
|
|
password: str
|
|
|
|
@app.post("/admin/api/login")
|
|
async def login_direct(data: LoginRequest):
|
|
return {"ok": True, "method": "direct", "username": data.username}
|
|
|
|
# 测试2:通过 router 定义
|
|
admin_router = APIRouter()
|
|
|
|
@admin_router.post("/login")
|
|
async def login_router(data: LoginRequest):
|
|
return {"ok": True, "method": "router", "username": data.username}
|
|
|
|
@admin_router.get("/test")
|
|
async def test_router():
|
|
return {"msg": "hello from router"}
|
|
|
|
app.include_router(admin_router, prefix="/admin/api")
|
|
|
|
if __name__ == "__main__":
|
|
import uvicorn
|
|
uvicorn.run(app, host="0.0.0.0", port=8001)
|