今天在写一个文件打包下载的接口的时候一直报错误(文件是可以下载的但是一直报错我就看得不顺眼)
- 我的代码是这样的
/** * 获取作品压缩包 * * @param request * @param response * @param wids * @return htt */ @ApiOperation(value = "获取作品压缩包", notes = "获取作品压缩包") @GetMapping(value = "/zip") ResultBody getWorksZip(HttpServletRequest request, HttpServletResponse response, @RequestParam("wids") String wids);
后来我就想啊我下载文件但是返回的是
json
是不是有毛病啊我就换了一个返回方式(果然没报错了)
-
/** * 获取作品压缩包 * * @param request * @param response * @param wids * @return htt */ @ApiOperation(value = "获取作品压缩包", notes = "获取作品压缩包") @GetMapping(value = "/zip") String getWorksZip(HttpServletRequest request, HttpServletResponse response, @RequestParam("wids") String wids);
-
/** * 获取作品压缩包 * * @param request * @param response * @param wids * @return htt */ @ApiOperation(value = "获取作品压缩包", notes = "获取作品压缩包") @GetMapping(value = "/zip") void getWorksZip(HttpServletRequest request, HttpServletResponse response, @RequestParam("wids") String wids);
网上有一种让配置
configureContentNegotiation
方式试了并没什么用
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}
还有一种设置
produces
同样没用
/**
* 获取作品压缩包
*
* @param request
* @param response
* @param wids
* @return htt
*/
@ApiOperation(value = "获取作品压缩包", notes = "获取作品压缩包")
@GetMapping(value = "/zip", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
ResultBody getWorksZip(HttpServletRequest request, HttpServletResponse response, @RequestParam("wids") String wids);