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

Swagger编辑器YAML API测试报错求助:重复映射键及Fetch失败问题

解决你的Swagger YAML报错和API测试问题

我来帮你逐一搞定这两个问题:


问题1:第98行的「重复映射键」错误

仔细看你的YAML代码,第98行的写法违反了YAML语法规范:

get:  ----- here I have an error line no 98

YAML中,键(比如get)后面的冒号必须直接结束当前键的定义,不能在同一行添加这种带横线的注释内容——解析器会把后面的字符串当成get的值,而后续的tags、summary等键就会被识别为重复的映射键,触发报错。

另外还有个隐藏问题:/jobs/{id}路径已经定义了路径参数id,但你在get、patch、delete操作里都写了parameters: [],这会覆盖路径级的参数,导致这些操作缺少必填的id参数,不符合OpenAPI规范。

修正后的/jobs/{id}代码片段:

/jobs/{id}:
    parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: The user ID
    get:
      tags:
        - Jobs
      summary: get single job
      operationId: getsinglejob
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    patch:
      tags:
        - Jobs
      summary: update job
      operationId: updatejob
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updatejobrequest'
            example:
              company: prime
              position: front-end developer
        required: true
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    delete:
      tags:
        - Jobs
      summary: delete job
      operationId: deletejob
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false

主要修改点:

  • 移除第98行的错误注释,恢复get:的正确格式
  • 删除每个操作里的parameters: [],让操作继承路径级的id参数

问题2:「Failed to fetch」报错

根据系统提示的可能原因,你可以按以下步骤排查:

1. 解决CORS跨域问题

Swagger编辑器(比如https://editor.swagger.io)属于第三方域名,如果你测试的API后端没有配置允许该域名的跨域请求,浏览器会直接阻止请求。解决方法:

  • 让后端在响应头中添加Access-Control-Allow-Origin: *(测试环境可用,生产环境建议指定具体域名),同时配置Access-Control-Allow-Methods、Access-Control-Allow-Headers等相关CORS头
  • 或者使用本地版的Swagger UI,避免跨域限制

2. 检查网络和API可用性

  • 直接在浏览器或终端访问https://new-jobs-api.herokuapp.com/api/v1/jobs,看是否能正常返回响应(终端可以用curl https://new-jobs-api.herokuapp.com/api/v1/jobs)
  • 如果无法访问,可能是网络故障或者API服务未正常启动

3. 确认URL的正确性

你的服务器URL用的是https,符合要求,但要检查是否有拼写错误:比如域名是否正确、有没有多写/少写字符、路径是否和后端实际路由匹配


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:27:35