今天在写一个文件打包下载的接口的时候一直报错误(文件是可以下载的但是后台打印的日志信息出现:Could not find acceptable representation错误)
我之前百度给我的结果是由于我的返回值是json字符串
而由于 produces 参数配置错误造成的,本意是想返回 json 格式数据,而header配置成了 text/html 格式,所以出错了。
但是我并没有配置header的格式,可能是默认为text/html(菜鸟猜测)。然后我就如下图改了一下子produces。但是还是没有什么用,照样报错。
然后我想了一下,是因为返回的东西不对才报错的,那我就不返回东西,直接弄了void。结果就不报错了,文件也成功下载了。如下图:
然后我询问同事,他说项目都是统一接口,需要返回状态码,所以我还需要改。最后百度了很久很久,其实就很简单,把@RestController改为Controller就好了。就既可以下载文件,又可以不报错,还可以向前端返回json字符串。
但是又有同事告诉我:只是擦破皮而已,你却把他的脑袋换了,没必要,就直接void就好了,下载的接口没必要要返回值。