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

实现Express REST API的Swagger文档时出现YAMLSemanticError如何解决?

问题修复方案

错误根因

报错是你写的Swagger注释不符合OpenAPI的YAML语法规范,存在两处问题:

  • 路径参数写法错误:Express路由用:参数名定义路径参数,但Swagger要求路径参数必须用{参数名}格式包裹
  • YAML语法错误:路径作为YAML的映射键,末尾必须加冒号,你写的路径行末尾没有冒号,导致YAML解析触发语义错误

你的Express路由本身写法是正确的,仅Swagger注释的语法和Express路由语法存在差异,所以只有生成接口文档时会触发报错,不影响路由本身的运行。

修复方法

替换你对应带email参数接口的Swagger注释为以下内容即可:

/** 
 * @swagger 
 * /api/v1/listallstaff/{email}:
 *   get: 
 *     description: Get single employee by email
 *     parameters:
 *       - name: email
 *         in: path
 *         required: true
 *         description: Employee email address
 *         schema:
 *           type: string
 *     responses:  
 *       200: 
 *         description: Return matched employee information
 *   
 */

修改完成后重启服务,报错就会消失,Swagger文档也会正确识别该接口的路径参数,支持直接在线调试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:06:06