
这边的 API 的 http code 都是 200 ,业务错误码都写在响应体里了,现在有个接口返回的是文件,就没办法判断错误码了,这也算这种模式的一个局限性了,只能考虑把文件 base64 放在响应体里吗?
     1   RightHand      257 天前 via Android  又不是不能用   |  
     2   xiaoming1992      257 天前 via Android  有业务错误,就不响应文件(而是响应业务错误码),不就行了。   |  
     3   BeautifulSoap      257 天前  接口错误了还返回正常文件吗。。。。   |  
     4   vincentWdp      257 天前  判断 response header 里的 content-type 看是 json 还是其他   |  
     5   ffLoveJava      257 天前  借此请教个类似的疑问:springBoot +vue   普通的接口都同意返回一个结果对象封装了状态码、错误信息、返回数据。 但是返回文件流的接口,比如某些文件添加当前登录用户信息的水印后以流的形式返给前端,这种接口返回类型是 void ,字节流放在 HttpServletResponse 中 flush 返回。 那这种接口出现错误后,比如无权查看、文件被锁定无法查看 等等 怎么返回前端? 前端通过什么判断是一个正常的文件流还是一串错误信息  |  
     6   ezXE2V      257 天前  返回文件的 oss 地址?   |  
     7   chendy/strong>      257 天前  问题是接口为啥返回文件,直接给用户下载不行么…   |  
     8   yinmin      257 天前 via iPhone  #4 正解。判断 response header 的 content-type ,如果出错是 application/json ,response body 是包含错误信息的 json 数据;如果正常返回 application/octet-stream ,response body 是二进制文件   |  
     9   laimikan      257 天前  文件都返回了为啥还有失败?   |  
     10   xuanbg      257 天前  不返回文件的 url ?直接返回文件流?   |  
     11   afeiche   OP @vincentWdp 也是一种思路,我试试   |  
     12   sthwrong      257 天前  @ffLoveJava 思路差不多的,能返回流了那么响应头肯定不一样了,这时候的异常和业务异常无关,业务异常你按常规的比如 json 响应头返回就行了。   |