答案是:用真实报错堆栈、curl命令和http动词明确字段行为,禁用模糊词并完整枚举所有状态值。需结合调试现场精准描述字段约束、参数位置、业务含义及边界值,如status必须列全0/1/2/3/-1及其对应中文状态。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在查“/api/v2/order/status”接口文档时,发现字段 description 写着“订单当前状态”,但根本不知道 0/1/2/3 分别对应“待支付/已支付/配送中/已完成”,翻了三页 Swagger UI 页面也没找到枚举说明,最后靠抓包看返回体才猜出来——这正是真实工程师卡住时会搜的问题。
把报错堆栈当搜索关键词用
直接复制你刚遇到的报错里最扎眼的一行,比如:Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.example.OrderStatus,粘贴进 Gemini 提示词开头。
这行不是让你解释异常,而是告诉 Gemini:你正在调试一个 Jackson 反序列化失败的现场,所有字段说明必须围绕 【OrderStatus 枚举类实际定义】 展开,而不是泛泛而谈“状态字段”。
若跳过这个真实堆栈,Gemini 会默认输出“该字段表示订单状态”,等于没说。
用 curl 命令反推字段约束
方法一:粘贴你刚跑通的请求命令
curl -X GET "https://api.example.com/v2/order/status?order_id=ord_8a7b6c&include_detail=true" -H "Authorization: Bearer eyJhbGciOi..."
告诉 Gemini:“以上是能成功返回的请求,请据此推导 order_id 是路径参数还是 query 参数,include_detail 是否必填,以及 Authorization header 中 token 的有效期是否影响 status 字段返回逻辑。”
方法二:粘贴你刚失败的请求命令
curl -X POST "https://api.example.com/v2/order/status" -d '{"order_id":"ord_8a7b6c"}'
注意:这行命令缺了 Content-Type,导致后端返回 415 Unsupported Media Type——【必须保留这个失败命令原样,不能改成“正确写法”】。Gemini 需要从这个错误里反推:POST 接口 body 必须是 JSON,且 status 字段在请求体中不可省略。
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
按 HTTP 动词自动区分字段流向
第一步:声明 method 类型
在提示词中明确写:“本接口 method 为 GET,所有字段均为 query 参数或 path 参数。”
第二步:绑定字段行为
“order_id 出现在 URL 路径中 → description 必须注明【由前端路由提取,不可为空字符串,长度限制 24 位】。”
第三步:强制响应字段带业务含义
“status 字段出现在响应 body 中 → description 不得写‘订单状态码’,而要写【0=待支付(用户未完成微信支付),1=已支付(支付网关回调成功),2=配送中(物流单号已生成),3=已完成(签收超24小时)】。”
这一步操作起来很简单,直接把生产环境抓包看到的真实值和业务含义填进去就行。
禁用模糊词并列全枚举值
在提示词末尾加一句硬指令:“禁用‘可能’‘一般’‘通常’‘相关’等词;若字段有枚举值,必须完整列出 code 和中文含义,顺序按线上数据库 enum 定义顺序排列。”
例如 status 字段,不能写“常见值有 0、1、2、3”,必须写:“0:待支付;1:已支付;2:配送中;3:已完成;-1:已取消(仅退款成功后返回)”。
漏掉 -1 这个值,前端就永远处理不了退款场景。










