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

如何移除Swagger UI返回zip接口响应中的多余示例值

解决方案

针对你使用Springfox 2.9.2版本的场景,无需升级版本也可以通过注解配置移除多余的返回示例,具体操作如下:

方法1:修改接口注解配置

将@ApiOperation中的response属性修改为Void.class,同时新增@ApiResponses注解显式指定200状态码的返回类型为空,同时在@GetMapping中添加produces属性指定返回类型为zip:

@ApiOperation(value = "Download all files in a zip file.")
@ApiResponses(value = {
    @ApiResponse(code = 200, message = "OK", response = Void.class)
})
@GetMapping(path = "/{id}.zip", produces = "application/zip")
@ResponseBody
public ResponseEntity<Resource> getFiles(@PathVariable(value="id") Integer id) {
    Resource resource = service.loadFiles(id);
    return ResponseEntity.ok()
                .contentType(MediaType.valueOf("application/zip"))
                .body(resource);
}

原理说明

Springfox 2.9.2会默认解析方法返回值的泛型类型Resource,自动生成对应的JSON结构示例。手动指定返回的响应类为Void.class后,Swagger会判定该接口无结构化返回值,就不会再生成多余的JSON示例,同时不会影响实际的文件下载逻辑。

方法2:版本升级

如果可以接受依赖版本迭代,直接升级到Springfox 3.0.0版本即可,该版本已经原生修复了二进制文件返回场景下的示例自动生成问题,无需额外修改注解配置即可符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 10:51:11