要验证接口是否真正校验必填参数,需用Codex发起缺失字段、空字符串、null三类请求并检查响应;同时比对OpenAPI Spec中required声明与实际校验结果是否一致,不一致则说明后端未启用校验中间件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想确认某个接口是否真的校验了必填参数,而不是只在文档里写了“该字段必填”——因为很多接口表面有校验,实际请求时传空值或不传字段仍能成功返回数据,导致前端以为安全、后端却埋下脏数据隐患。
用 Codex 发起带缺失字段的请求
打开 Codex 交互界面,在输入框中输入:test POST /api/orders with body { "product_id": 123 }。这里故意不传 【user_id】 字段,它是文档中标注的必填项。
等待 Codex 生成并执行请求,观察响应状态码和 body 内容。若返回 200 或 201,说明后端未校验该字段;若返回 400 且 message 明确提示 “user_id is required”,才算真正生效。
构造边界值组合验证
方法一:空字符串 + null + 未定义三连击
在 Codex 中依次执行以下三条命令:
test POST /api/orders with body { "user_id": "", "product_id": 123 }
test POST /api/orders with body { "user_id": null, "product_id": 123 }
test POST /api/orders with body { "product_id": 123 }
通过 codex-reset-radar.pages.dev 监控 Codex 使用重置窗口。轮询 current.json,检测窗口开启/关闭、预测等级变化以及概率跳变。
这三类情况必须全部拦截。只要其中一种绕过校验,就证明后端只做了浅层判断(比如只检查字段是否存在,没检查值是否为空)。
查看 OpenAPI Spec 是否与实现一致
第一步:让 Codex 定位项目中的 OpenAPI 文件。输入:请帮我找到当前项目中定义 API 接口契约的 YAML 或 JSON 文件,路径可能包含 openapi、swagger、spec 关键词。
第二步:找到 /api/orders 的 POST 定义,检查 requestBody.content.application/json.schema.required 数组是否包含 user_id。
第三步:若 spec 中已声明必填,但上一步测试仍通过,说明 【后端未启用或未正确加载该 spec 对应的校验中间件】,不是前端问题,要立刻通知后端同学核对框架配置。
用 curl 手动复现失败请求
复制 Codex 生成的 curl 命令,在终端中粘贴执行。注意替换掉 Codex 自动生成的 token 或临时 header。
如果终端返回结果和 Codex 面板不一致,优先信终端结果——Codex 界面有时会缓存旧响应或展示 mock 数据。
这一步操作起来很简单,直接把文件拖进去就行。










