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

如何在OpenAPI YAML中编写返回MP3文件的响应?

嘿,我来帮你搞定返回MP3文件的API YAML配置!其实在OpenAPI规范里配置多媒体响应没那么复杂,我直接给你上实用示例和关键细节说明:

核心配置步骤

在OpenAPI的YAML定义里,你只需要在接口的responses部分指定对应的MIME类型,同时说明响应数据是二进制格式即可。

完整示例代码

这里给你一个返回MP3音频的GET接口配置示例:

openapi: 3.0.3
info:
  title: 音频文件API
  version: 1.0.0
paths:
  /audio/{trackId}:
    get:
      summary: 获取指定ID的MP3音频文件
      parameters:
        - name: trackId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: 成功返回MP3音频文件
          content:
            audio/mp3:  # 这里指定你需要的音频MIME类型
              schema:
                type: string
                format: binary  # 标记为二进制数据
          # 可选:如果需要让浏览器直接下载文件而不是播放,可以加这个响应头
          headers:
            Content-Disposition:
              description: 指定下载文件名
              schema:
                type: string
                example: attachment; filename="my-track.mp3"

关键细节说明

  • MIME类型兼容性:严格来说,MP3的标准MIME类型是audio/mpeg,不过audio/mp3也被大多数客户端和服务器支持。如果要追求最大兼容性,建议优先用audio/mpeg替换示例里的audio/mp3。
  • 二进制数据标记:format: binary告诉API文档工具和客户端,这个响应是二进制流,不是JSON或文本格式。
  • 下载文件名配置:通过Content-Disposition响应头,可以指定浏览器下载文件时的默认文件名,用户体验更好。

额外提示

别忘了确保你的后端服务实际返回的是正确的MP3二进制数据,并且响应头里的Content-Type和你在YAML里配置的一致(比如audio/mp3或audio/mpeg),这样客户端才能正确识别和处理音频文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:13:09