一般后端接口都是返回json数据,其中前端用的Accept=application/json,如果是接受的是数据流,Accept=text/event-stream,Spring会根据请求的Accept类型来决定如何响应数据。如果是流,你响应的数据只能是String。
如果请求头中有Accept=text/event-stream,Spring会读取到这个值,然后走对应流程,往流中写入String类型数据,此时如果后端返回的是一个类型A,期望对象a转换成json串,就会报错类型A无法转换成String。