liangjingkanji / Net

Android 基于协程/OkHttp网络请求工具
http://liangjingkanji.github.io/Net/
MIT License
1.91k stars 214 forks source link

老哥,你这网络请求文档我咋看不明白呢😂 #59

Closed SaltedFish-Extreme closed 2 years ago

SaltedFish-Extreme commented 2 years ago

我想请求玩安卓的接口,一开始没想到还要配置解析器,发现解析数据异常吐司才回头又看了遍文档,然后配置SerializationConverter解析时候有爆红的,又对比看了看demo才发现还要导入它的依赖 微信图片_20220108151632 配置完了之后看文档可以在全局配置,但是不知道是在application里配置还是在哪,在application里的onCreate里面这样配置了还是解析数据异常

NetConfig.init("https://www.wanandroid.com/") {
            setConverter(SerializationConverter())
        }

image 还有你的demo也出这个问题了😂 微信图片_20220108151627

SaltedFish-Extreme commented 2 years ago

我仔细看了看,玩安卓的错误码是0为成功,是INT类型的,继承的JSONConvert错误码是字符串的,不知道是不是这个问题,但是我刚才自定义了SerializationConverter也不管用😢

SaltedFish-Extreme commented 2 years ago

我日,我把SerializationConverter换成GsonConvert就好了,不该字符串错误码和全局配置解析的事,一开始换成gson解析时用了retrofit相关的依赖,怪不得用gson也不行,老哥能把解析相关的依赖写的显明些吗😂话说kotlin那个解析可能有问题,有点坑😢

liangjingkanji commented 2 years ago

Gson要什么retrofit依赖

转换器分为单例和全局, 全局推荐在Application赋值. 单例就是针对每个请求赋值

错误码是Int不影响你使用JSONObject.getString()

liangjingkanji commented 2 years ago

转换器代码很简单, 你可以尝试读下转换器内部在做什么. 不然遇到业务和常规不符的需求你就不知道如何自定义转换器了.

liangjingkanji commented 2 years ago

另外假设你使用Net出现任何异常提示. 可以直接打开LogCat看错误信息. 不用到处猜

SaltedFish-Extreme commented 2 years ago

@liangjingkanji 嗯,我一开始以为gson是依赖的com.squareup.retrofit2:converter-gson,最后全局搜你demo里关于gson的依赖才找到谷歌的,我原来一直和retrofit一起用的😂自定义的转换器大概看懂了一些,好像kotlin这个Serialization的解析有问题,你demo里也出问题了,Net打印的log一直都是类型转换异常,都在依赖的转换器里,我看不明白😢

SaltedFish-Extreme commented 2 years ago

@liangjingkanji 话说老哥,刚才我加群也没有同意,进不去吗🤔