org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class ReturnObj] with preset Content-Type 'application/octet-stream'
参考:https://blog.csdn.net/qq_44137046/article/details/116092565
本次的接口设计为导入解析接口,如果导入信息不符合,返回一个下载文件(application/octet-stream),符合则返回货物集合信息(application/json)。
参考上面的链接内容,确实是return null 就能解决问题。
原代码将return null写在service层,到controller层会仍然return ReturnObj,仍然会报错,所以将代码搬到controller层不会报错:
@ApiOperation(value = "货物信息批量导入")
@PostMapping(value = "/readCargosExcel")
public ReturnObj<List<TCargoVO>> readExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException
{
return ReturnObj.success(tCargoService.readCargosExcel(file,request,response));
}
修改后:
@ApiOperation(value = "货物信息批量导入")
@PostMapping(value = "/readCargosExcel")
public ReturnObj<List<TCargoVO>> readExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IOException, MyException {
ExcelImport<TCargoVO> excelImport = ExcelImport.create(file, TCargoVO::new);
List<TCargoVO> list = excelImport.readAll();
if (false) {
excelImport.response(response);
return null;
}
return ReturnObj.success(list);
}
网友评论