由于后端接口不规范,返回的数据格式不统一,导致前端公共组件e-table接口里接收数据时要用多个||进行判断,这样写有一定的风险。
如:关于data.content.iTotalRecords,data里面可能没有content,故data.content.iTotalRecords就有可能发生错误。
希望代码能别出错,并且能在优化一下代码
由于后端接口不规范,返回的数据格式不统一,导致前端公共组件e-table接口里接收数据时要用多个||进行判断,这样写有一定的风险。
如:关于data.content.iTotalRecords,data里面可能没有content,故data.content.iTotalRecords就有可能发生错误。
希望代码能别出错,并且能在优化一下代码
前后端分离、尤其后端话语权更大的时候,就没有特别好的方式。
主流方案一般都是前端自己加个 BFF 层 (Backend for Frontend),美其名曰“防腐”,实则就是给不愿意擦屁股的后端干脏活。
换而言之,就是要把业务数据和接口数据分开,组件应当依赖于业务数据、而不是接口数据。
BFF 层是个比较常规的方案,没啥可特别强调的,这里就不具体展开了,如果不了解你可以自行搜索相关信息。
P.S. 有些 BFF 的案例会结合微服务来做(因为前几年微服务很“流行”),可能看起来会很复杂,还得上 Node.js 啥的。如果你们本身没有配套的基建,可以不要搞这么复杂。就在前端项目里写几个一个 parser function 就好了。
最好的优化就是要求后端统一一种格式返回数据,总不能换一个后端,换一种返回格式,然后每次都要前端修改吧?
之前的也办法,不好改。从现在开始,你和后端商量一下,确定一个返回格式,看看代码用的比较多、比较通用的,然后统一按照约定的格式返回