Liaoworking/MoyaNetworkTool

Moya14.0+HandyJason

Closed this issue · 5 comments

luo-h commented

老哥,麻烦写一下更新一下Moya14.0+HandyJason,我按照你的写法要报错
if let daliyItems = [GHItem].deserialize(from: responseString, designatedPath: "stories")
这一步没法直接用了,对于上手3天swift的小白来说太难受了,麻烦老哥更新一下Moya再写一个,谢谢

大兄弟对不住 我这几天改一版发出来
有任何疑问可以随时联系我

luo-h commented

好的,等你空了更新一下吧,我目前是这样写的
NetProvider.request(LHNetManager.update) { result in
switch result {
case let .success(moyaResponse):
let data = moyaResponse.data
//let statusCode = moyaResponse.statusCode
do {
//json对象
//let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
//json 字符串
let jsonStr = String(data: data, encoding: String.Encoding.utf8)
uLog(jsonStr)

                    if let mappedObject = JSONDeserializer<LHBaseResponse<LHUpdateModel>>.deserializeFrom(json: jsonStr) { // 从字符串转换为对象实例
                        uLog("打印model:",file: mappedObject.data?.updateContent ?? "111")
                    }
                }
                    /*
                catch {
                    uLog(statusCode)
                }
                */
            case let .failure(error):
                uLog(error)
            }
    }

我之前还看到个老哥把model封装到了request中了,就不用每次请求都转json再转model了,不过也是老版本的moya,我还是没搞出来,尴尬。。。

我们项目后来优化了一版就是把转模型封装到基本网络请求中 我也一个demo也一起步上来。

luo-h commented

谢谢老哥,手动点赞

顺便把网络请求内部转模型的大概实现也写到里面了 思路可能不太严谨 可以根据实际情况来改代码