hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.16k stars 616 forks source link

关于网络请求,后台数据请求code 200 data为空的时候出错 #38

Closed lewmm closed 3 years ago

lewmm commented 3 years ago

用了你的框架来重构 发现 后台如果没设置参数data为空的时候 由于kotlin的原因 用BaseViewModel.request请求 在BaseViewModelExt.kt解析数据的时候 会报出 Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter it的错误
如果用requestNoCheck来请求 在解析又会多一步操作来处理 -0 - 不用想用这个方法 。 请问有什么办法来处理这个问题吗

hegaojian commented 3 years ago

如果data可为null的情况下,你需要在你的返回值泛型中加个 ? 示例 :

 /**
     * 收藏文章
     */
    @POST("lg/collect/{id}/json")
    suspend fun collect(@Path("id") id: Int): ApiResponse<Any?>