Closed yueye410 closed 4 years ago
你是使用的Demo测试的还是自己项目里面集成出错?
我demo 的BaseRepository是用于处理返回数据格式如BaseEntity格式的,因为demo的示例返回的格式不是BaseEntity形式的故不会执行。实际项目中会有BaseEntity格式的数据返回形式就可以处理了
如果返回的实体类似BaseEntity(这里的类似不是说所有字段一模一样),在BaseRepository的子类需要调用BaseRepository transform方法 如我们公司所有api格式都是BaseEntity形式的。
如登录功能 LoginRepository是BaseRepository 子类登录接口BaseEntity 中的T是UserEntity实体 如下所写
/**
注意 1:上面return 调用的transform为BaseRepository 里统一处理方法因为我司设计api统一格式为BaseEntity形式 不同的只是data这个泛型。如果返回的全都是不统一格式可不用理会BaseRepository 里的统一处理,如demo中的。此处未在demo说明给你带来了理解上的差异深表抱歉 2:上面getService()返回的LoginService对应login接口
/**
不知这么解释是否清楚?不清楚可继续问
谢谢。 我们返回数据不太统一,怎么统一处理拦截呢? 🤦♂️
返回结果是啥样的 有可能和BaseEntity字段不一致但是肯定也是一定的统一形式,不可能每个接口返回数据都不一样。总要有请求成功与否(类似success),提示信息(类似msg),如果有请求数据(泛型 data)?如果每个接口返回数据差异都很大是没有办法做统一处理的,可能得和后台协商一下
能加你微信或QQ吗,或者你加我 QQ:105398540 微信:18862486210
我让后台统一了接口格式,但现在问题是,baseentity里面,跟result同级的,还有个对象,是每个接口都有的,也是必用的,怎么办呢?
那你把BaseEntity增加一个字段即可嘛,只要是格式都统一的就好处理的
我看你返回值是result.result哎,范型里面的那个entity,不是返回的baseentity,咋弄啊,头疼。🤦♂️
你可以这样你的BaseEntiy 为
Object obj--这里的是你们额外对象 BaseEntity base--这里的BaseEntity为我demo里的样式 ---其实可以将这个类改名因为你们项目的BaseEntity不一样了 然后在BaseRepository 处理的就是 result.base.success 这样的。
已发送QQ请求。如果还有问题可QQ咨询
//用于解析 统一返回实体统一做相应的错误码--如登录失效 这里面怎么统一处理呢?断点进不来,谢谢。