审查生成的任务端点

来自 后端开发入门
Node 24 进阶 6分钟 找出 4处问题

在这段生成的任务端点对客户端开放前,对它进行审查。

为已认证所有者创建任务,接受长度不超过 80 的非空标题,在重试时保持正确,并在持久创建和记录审计信息后返回带 Location 的 201 响应。

JavaScript
async function createTask(request, db, audit) {
  const body = await request.json();
  const ownerId = body.ownerId;
  const owner = (await db.users.list()).find((user) => user.id === ownerId);
  if (!owner) return json(404, { error: "owner_not_found" });

  const task = {
    id: crypto.randomUUID(),
    ownerId,
    title: String(body.title).trim(),
    completed: false,
  };

  const duplicate = await db.tasks.findByTitle(task.title);
  if (duplicate) return json(409, { error: "duplicate" });
  await db.tasks.insert(task);
  await audit.publish("task.created", task);
  return json(200, task);
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误