python
from fastapi import FastAPI, Depends, HTTPException, Request
from fastapi.responses import JSONResponse
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field, validator
from typing import Optional, List, Dict, Any
import time
import uuid
from enum import Enum
@app.get(/users/, response_model=List[UserResponse])
async def get_users(role: Optional[UserRole] = None, limit: int = 10, offset: int = 0):
获取用户列表 展示查询参数处理
users = fake_db[offset:offset+limit]
if role:
users = [user for user in users if user[role] == role]
return users
@app.get(/users/{user_id}, response_model=UserResponse)
async def get_user(user_id: int):
获取特定用户 展示路径参数处理
for user in fake_db:
if user[id] == user_id:
return user
raise HTTPException(status_code=404, detail=用户未找到)
@app.put(/users/{user_id}, response_model=UserResponse)
async def update_user(user_id: int, user_update: UserCreate):
更新用户 展示PUT请求处理
for idx, user in enumerate(fake_db):
if user[id] == user_id:
updated_user = {user, user_update.dict()}
fake_db[idx] = updated_user
return updated_user
raise HTTPException(status_code=404, detail=用户未找到)
@app.delete(/users/{user_id}, status_code=204)
async def delete_user(user_id: int):
删除用户 展示DELETE请求处理
for idx, user in enumerate(fake_db):
if user[id] == user_id:
fake_db.pop(idx)
return
raise HTTPException(status_code=404, detail=用户未找到)