No converter for XXX with preset Content-Type ‘application/octet-stream‘

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, MyException
{
    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);

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值