基础指南

后端服务与 API 实现

构建有校验、鉴权、错误处理与可观测性的服务。

更新于
构建与验证 / 架构与集成定位整体框架 ↗
构建与验证 × 架构与集成:当前工作是实现确定性接口,产出有鉴权和幂等的服务;显示相关阶段和相邻领域
本页目录

将接口契约落实到运行行为

服务的责任包括输入校验、认证、资源授权、业务状态、数据写入与可观测性。前端检查改善体验,不能成为唯一的安全控制。每个写操作需要知道失败前后业务状态是否确定。

一次创建草稿请求的实现顺序

  1. 解析身份并验证令牌来源、有效期及适用受众。
  2. 校验工单编号、输入长度和请求结构;限制请求体与并发。
  3. 从服务端身份上下文确定租户,再查询并授权目标工单。
  4. 使用幂等键建立任务,避免重复请求产生重复草稿。
  5. 在事务内写任务与必要审计信息,耗时模型调用放到事务外。
  6. 返回任务编号;后台完成后由用户查询结果,超时和失败显式展示。

伪代码:权限与幂等的边界

user = authenticate(request)
input = validate(request.body)
ticket = load_ticket(input.ticket_id)
authorize(user, "draft:create", ticket)
job = create_or_get_job(user, ticket, idempotency_key, input_hash)
return accepted(job.id)

这段伪代码只展示控制顺序,省略了事务、并发冲突、任务队列和错误映射,不能直接当作生产实现。

错误与资源控制

情况服务行为用户下一步
输入不合法稳定错误码与字段提示修正输入
无资源权限拒绝且不泄露资料联系资源负责人
队列繁忙限流并给出重试指引等待或使用人工流程
模型超时标记任务失败,保留查询能力重试任务或转人工
重复请求复用已存在任务查看同一结果

记录追踪编号、阶段耗时、结果码和版本,不默认记录完整工单正文。用户编号、工单编号不应直接作为高基数监控指标标签。

验证与交付

验证两个并发同键请求只形成一个业务任务;更换幂等键不能绕过资源授权;模型超时不应占住数据库事务。提交契约设计、实现、错误用例、并发结果与运维说明。

常见误区

把模型输出直接拼成查询或命令、把租户参数完全信任客户端、对所有错误自动重试,都会把辅助能力变成业务风险。先让确定性接口正确运行,再接入 AI。

参考阅读与使用边界

本页为基础指南;生产操作需结合实际版本、授权环境与审核证据验证。

Markdown 原文反馈本页问题 ↗