fastapi-router-py
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFastAPI Router
FastAPI 路由
Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes.
创建遵循既定模式的FastAPI路由,包含完善的认证、响应模型和HTTP状态码。
Quick Start
快速开始
Copy the template from assets/template.py and replace placeholders:
- → PascalCase name (e.g.,
{{ResourceName}})Project - → snake_case name (e.g.,
{{resource_name}})project - → plural form (e.g.,
{{resource_plural}})projects
从assets/template.py复制模板并替换占位符:
- → 大驼峰命名(例如:
{{ResourceName}})Project - → 小写下划线命名(例如:
{{resource_name}})project - → 复数形式(例如:
{{resource_plural}})projects
Authentication Patterns
认证模式
python
undefinedpython
undefinedOptional auth - returns None if not authenticated
可选认证 - 未认证时返回None
current_user: Optional[User] = Depends(get_current_user)
current_user: Optional[User] = Depends(get_current_user)
Required auth - raises 401 if not authenticated
必填认证 - 未认证时抛出401错误
current_user: User = Depends(get_current_user_required)
undefinedcurrent_user: User = Depends(get_current_user_required)
undefinedResponse Models
响应模型
python
@router.get("/items/{item_id}", response_model=Item)
async def get_item(item_id: str) -> Item:
...
@router.get("/items", response_model=list[Item])
async def list_items() -> list[Item]:
...python
@router.get("/items/{item_id}", response_model=Item)
async def get_item(item_id: str) -> Item:
...
@router.get("/items", response_model=list[Item])
async def list_items() -> list[Item]:
...HTTP Status Codes
HTTP状态码
python
@router.post("/items", status_code=status.HTTP_201_CREATED)
@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)python
@router.post("/items", status_code=status.HTTP_201_CREATED)
@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)Integration Steps
集成步骤
- Create router in
src/backend/app/routers/ - Mount in
src/backend/app/main.py - Create corresponding Pydantic models
- Create service layer if needed
- Add frontend API functions
- 在目录下创建路由
src/backend/app/routers/ - 在中挂载路由
src/backend/app/main.py - 创建对应的Pydantic模型
- 如有需要,创建服务层
- 添加前端API函数