下载接口异常(Cannot call sendError() after the response has been committed 原因解析)

做项目,写了个下载接口,想着下载出现问题能让前端知道哪里出问题了,所以用了ModelReponse作为返回类型,不想写完一测试就崩了...
下载接口异常(Cannot call sendError() after the response has been committed 原因解析)
文章图片

打了断点调试,才发现下载代码并没有问题,问题在返回前端这步,一返回就崩,仔细研究了好一会才发现是response生命周期的锅,下载完成后response已经失效,再用来返回ModelResponse当然就失败了...
下载接口异常(Cannot call sendError() after the response has been committed 原因解析)
文章图片

【下载接口异常(Cannot call sendError() after the response has been committed 原因解析)】解决办法:如果下载出现问题,返回ModelResponse让前台知道问题详情,至于下载成功的话,直接return null 就Ok了!

    推荐阅读