根据任务要求审查这个生成的文档更新端点,找出五类不同的风险。
为当前租户拥有的文档更新非空标题,使用非阻塞存储,资源不存在时返回 404,并且只暴露文档的公开字段。
Python
import time
from fastapi import FastAPI
from pydantic import BaseModel
class DocumentPatch(BaseModel):
title: str | None = None
app = FastAPI()
@app.patch("/documents/{document_id}")
async def update_document(document_id: int, patch: DocumentPatch):
time.sleep(0.2)
document = repository.get(document_id)
if document is None:
return {"error": "not found"}
for name, value in patch.model_dump().items():
setattr(document, name, value)
repository.save(document)
return document.__dict__
生成代码仅作示例,不代表任何特定模型