**
Spring-boot中下载excel报错java.lang.IllegalStateException: getOutputStream() has already been called 解决办法
几种方式都试过
- 返回值设为空(return null)或方法不返回参数(void),没用
- 方法中增加@ResponseBody注释,没用
- 前后端分离的需求,前端VUE写的,通过看代码,也没发现哪里使用过out.getWriter()方法,没用
- 解决办法,通过对比两种下载方式(发现前端通过post方式调用controller会报错,而直接使用get方式则不会报错,将入参方式改为get通过链接传值,就OK了):
@Loggable
@ApiOperation(value = "客户列表导出")
@GetMapping("/users/exportExcel")
@RequirePermission("wealthmanagement:user:export")
public void exportExcel(HttpServletResponse response, ExportUserRequest exportUserRequest) {
ResponseCommonTypeT responseCommonTypeT = new ResponseCommonTypeT();
List<WxUserDTO> users = reviewService.exportUsers(exportUserRequest);
...
原来的方式:
@Loggable
@ApiOperation(value = "客户列表导出")
@PostMapping("/users/exportExcel")
@RequirePermission("wealthmanagement:user:export")
public void exportExcel(HttpServletResponse response,@RequestBody ExportUserRequest exportUserRequest) {
ResponseCommonTypeT responseCommonTypeT = new ResponseCommonTypeT();
List<WxUserDTO> users = reviewService.exportUsers(exportUserRequest);