http://localhost:8085/api/v1.0/user/export org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class cn.com.wind.server.model.vo.Response] with preset Content-Type 'multipart/form-data;charset=utf-8'
最近在开发过程中写一个导出数据对象的接口,使用的 EasyExcel
插件,导出一个对象的二进制流供前端使用。在写的过程中发现报了上述错误 No converter for [class cn.com.wind.server.model.vo.Response] with preset Content-Type 'XXX'
。
错误中提示的很清楚,无法转换,目标对象 Response,这个对象是API统一出口,即Controller接口的返回值,意思就是你的Excel返回无法转换成Response对象,肯定无法转换。
所以说,解决方案:返回值为 void。
java">@PostMapping("/export")
public Response exportUserInfo(@RequestBody UserRequest request, HttpServletResponse response){userService.exportUserInfo(request, response);return Response.success("ok");
}
修改为
java">@PostMapping("/export")
public void exportUserInfo(@RequestBody UserRequest request, HttpServletResponse response){userService.exportUserInfo(request, response);
}
我在网上搜索该问题时发现很多版本,看了下解决问题的方法大多如此,问题如下:
No converter for [class XXX] with preset Content-Type ‘application/vnd.ms-excel;charset=utf-8‘
No converter for [class ] with preset Content-Type 'application/octet-stream;charset=UTF-8'
参考文章:文章一,文章二。