You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swagger 3.0无法为查询参数添加属性问题求助(Node Express)

问题解决:Swagger注释添加参数属性后端点消失并报YAML语法错误

错误原因

你碰到的YAMLSemanticError是YAML缩进语法错误。在Swagger的parameters数组里,每个参数是一个以-开头的数组元素对象,该对象的所有属性(name、required、description等)必须缩进在这个数组元素的层级下,不能和-处于同一缩进级别。

你的错误代码中,required和description和- name: robaid的-对齐了,导致YAML解析器无法识别这些属性属于该参数对象,直接触发语法报错。

修正后的代码

将required、description等属性缩进,和name保持同一层级即可:

/**
 * @swagger
 * /get:
 *  get:
 *      tags: [ /api/roba/get ]
 *      summary: 根据给定ID返回商品信息
 *      description: 根据给定ID返回商品信息
 *      parameters:
 *          - name: robaid
 *            required: true
 *            description: 商品ID参数
 *      responses:
 *          400:
 *              description: 未传递robaid参数
 */

关键注意事项

  • YAML对缩进极度敏感,数组元素的子属性必须比数组标识-多缩进2个(或更多,保持一致即可)空格
  • Swagger注释本质是嵌入JS注释的YAML,必须严格遵循YAML语法规范
  • 同一参数对象下的所有属性,必须保持相同的缩进层级

内容的提问来源于stack exchange,提问作者Aleksa Ristic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:21:35