后端 API 不能从控制器代码开始。先定义路径、方法、身份、输入、成功响应、错误模型和幂等要求,Agent 才能在正确边界实现。
开始前先准备什么
选择一个小端点,写出示例请求与响应、字段类型、必填规则、权限和不允许访问的对象。

例如为“读取自己的订单”先写一份最小契约:GET /api/orders/{id},需要已登录用户;成功返回订单编号、状态和金额;非法编号返回 400,不存在返回 404,订单属于其他用户时按团队安全策略返回稳定错误。不要让 Agent 自己发明谁能看谁的数据。
GET /api/orders/ord_123
Authorization: Bearer <test-token>
200 OK
{"id":"ord_123","status":"paid","amount":99.00,"currency":"CNY"}
示例中的路径、字段和状态码只是演示,真实项目应以已有 OpenAPI、产品规则和错误模型为准。
实际操作步骤
- 在 Plan Mode 让 Agent 找现有路由、验证器、服务层、错误模型和测试惯例。
- 审查计划是否复用现有认证与数据访问,不允许绕过权限或直接拼接查询。
- 实现输入验证、归属检查、稳定错误码和必要事务;高影响写入考虑幂等。
- 补正常、无权限、非法输入、资源不存在和重复请求测试,再用隔离数据库运行。
Cursor Plan Mode 官方文档说明,Plan Mode 会先研究代码库并生成可编辑计划,适合跨多个文件或存在多种方案的任务。可以要求它回答:“路由在哪里注册?认证中间件是什么?归属检查位于哪层?现有测试如何创建用户与订单?”每个答案都应带文件位置,再决定是否构建。
把安全边界写成测试
最低测试矩阵应包含:所有者读取成功;未登录拒绝;用户 A 不能读取用户 B 的订单;非法 ID 被拒绝;不存在资源返回约定错误;数据库异常不暴露内部堆栈。写接口时还要复用参数化查询或 ORM,避免拼接外部输入;日志中不记录令牌、密码或完整敏感对象。
对于创建、支付、发放权益等高影响写入,要先确认幂等策略。可以用业务唯一键或幂等键识别重复请求,但具体存储、有效期和冲突语义属于业务契约,不能由 Agent 临时决定。事务边界应覆盖必须共同成功的写入。
执行与验证示例
让 Cursor 展示准备运行的测试命令,并从仓库脚本或 CI 配置中选择。接口启动后可用测试客户端或以下形式发请求:
curl -i http://localhost:3000/api/orders/ord_123 \
-H "Authorization: Bearer $TEST_TOKEN"
预期结果不仅是 200,还要核对响应 Content-Type、字段类型、未泄露内部字段,以及数据库没有额外写入。随后用另一个测试用户的令牌请求同一资源,确认归属校验确实发生在后端。Cursor Reviewing and Testing 官方资料可作为 Agent 修改后复核思路的来源,但自动审查不能替代契约测试和人工差异检查。
怎样验证结果
通过标准是契约示例一致、越权测试失败、错误响应稳定、相关测试通过且日志不泄露敏感字段。
再比较 git diff,确认没有顺带改动认证规则、全局错误格式或数据库配置。若测试连接到了共享或生产环境,立即停止;修正隔离配置后重新开始,不能把已有数据当作夹具。
常见错误
- 不要用前端隐藏按钮代替后端权限。
- 不要返回内部堆栈给客户端。
- 测试不能连接生产数据库。
若 Agent 建议新建第二套认证、错误类型或数据库客户端,应先查项目是否已有等价模块。接口行为与契约不一致时,先明确哪个是标准源;不能一边改代码一边悄悄改测试使其通过。
适用边界
本地测试通过不代表可直接上线;仍需迁移、容量、监控、回滚和安全评审。
相关问答
先写 OpenAPI 还是先写代码?
团队已有契约流程时优先更新契约;至少先明确可验收的请求响应。
Agent 能决定权限规则吗?
不能凭空决定业务权限,应由产品和安全规则提供。
资料与适用范围
本文根据 2026 年 10 月 1 日核验的 Cursor Plan Mode 官方文档、Cursor Reviewing and Testing 官方资料整理。示例流程未在你的设备、账号或仓库中实测,界面、方案、权限和项目命令应以当前环境为准。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32661.html