No converter for XXX with preset

2023-08-08  本文已影响0人  全新的牙膏

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);

}

上一篇 下一篇

猜你喜欢

热点阅读