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

在Spring项目中使用OpenAPI Generator时,如何自定义ResponseEntity的响应体类型?

替换OpenAPI生成的Spring响应体为StreamingResponseBody的配置方法

要把OpenAPI Generator生成的文件下载接口响应体从org.springframework.core.io.Resource替换为StreamingResponseBody,你可以利用OpenAPI规范的Spring专属扩展字段来实现,具体步骤如下:

1. 在OpenAPI文档中添加Spring扩展配置

在定义文件下载接口的响应部分,除了保留type: string和format: binary的基础定义外,添加x-spring-response-body扩展字段,指定你想要的响应体类型全类名:

paths:
  /download:
    get:
      summary: 下载CSV文件
      responses:
        '200':
          description: 成功返回CSV文件
          content:
            text/csv:
              schema:
                type: string
                format: binary
          x-spring-response-body: org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody

2. 验证生成的代码

当你重新运行OpenAPI Generator生成Spring代码后,对应的接口方法签名会自动变为:

CompletableFuture<ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody>> downloadFile();

补充说明

  • 这个扩展是OpenAPI Generator针对Spring框架提供的专属配置,确保你使用的Generator版本是v5.0.0及以上(更早版本可能不支持该扩展)。
  • 如果需要自定义其他响应体类型,只需要修改x-spring-response-body的值为对应类的全限定名即可。
  • 保持type: string和format: binary的定义是为了符合OpenAPI对文件响应的标准规范,同时结合扩展实现Spring特定的类型替换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:22:44