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
相关产品推荐
相关产品推荐

