liangjingkanji / Net

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

BodyRequest解析好像有问题 #216

Closed pokerfaceCmy closed 10 months ago

pokerfaceCmy commented 10 months ago

问题描述

kotlin serialization 在bodyRequest中解析不了

如何复现

import kotlinx.serialization.json.buildJsonObject
import kotlinx.serialization.json.put

//请求
scopeLife {
    Post<List<Coupon>>(Api.COUPON_LIST) {
        json(
            "memberId" to "1",
            "productList" to listOf(buildJsonObject {
                put("goodsSku","1000083552")
                put("goodsQty",1)
            })
        )
    }.await()
}

//发的请求是

{
    "memberId": "1",
    "productList": [
        {
            "goodsSku": null,
            "goodsQty": null
        }
    ]
}

//期望的是

 {
    "memberId": "1",
    "productList": [
        {
            "goodsSku": "1",
            "goodsQty": 1
        }
    ]
}
liangjingkanji commented 10 months ago

原因: Net未引入任何三方json框架, 也不支持任何对象解析(文档提到)

解决: 自定义扩展函数或自定义body

下次点开json函数源码看下你就不会提这种问题了