【发布时间】:2020-11-08 12:54:55
【问题描述】:
我想通过 post 向服务器发送数据请求我想知道如何在数组中添加数据
data class City(
@SerializedName("cityId")
val cityId: Int?,
@SerializedName("detail")
val detail: List<String?>
)
请求
data class CityRequest(
@SerializedName("listCity")
val listCity: List<City?>
)
回应
data class CityResponse(
@SerializedName("code")
val code: String?,
@SerializedName("status")
val status: Boolean?,
@SerializedName("message")
val message: String?
)
API 服务器
@Headers("Content-Type: application/json")
@POST("city")
suspend fun sendCityContent(@Body listCity: CityRequest?):
Call<CityResponse?>
连接服务 我不知道如何向相关部分添加信息。
private suspend fun sendDataCity(city: List<city?>) {
val retrofit = clientCity
val sendDataToServer = retrofit?.create(CityService::class.java)
val call = sendDataToServer?.sendCityContent(CityRequest(city))
call?.enqueue(object : Callback<CityResponse?> {
override fun onResponse(
call: Call<CityResponse?>, response: Response<CityResponse?>) {
val getResponse = response.body()
Timber.tag("SALE_CITY: ").d("code: %s", getResponse?.code)
Timber.tag("SALE_CITY: ").d("status: %s", getResponse?.status)
Timber.tag("SALE_CITY: ").d("message: %s", getResponse?.message)
}
override fun onFailure(call: Call<CityResponse?>, t: Throwable?) {
t?.printStackTrace()
}
})
}
简单的 JSON
{
"city": [
{
"cityId": 1,
"answer": [
"1"
]
},
{
"questionId": 2,
"answer": [
"2.1",
"2.2"
]
}
]}
接下来我要做什么? 您可以为我提供一个在数组中添加数据的示例吗? 我想要的东西
cityId = 1
detail = "1.1", "1.2"
cityId = 2
detail = "2.1", "2.2"
谢谢
【问题讨论】:
-
你遇到什么样的错误可以在这里发布错误?
-
我不知道如何添加数据。因为是两层数组
-
您在执行上述代码后一定遇到了一些错误或其他问题,发布或明确说明您的服务器接受什么格式以及您有什么格式
标签: android json kotlin post retrofit2