Я пытаюсь отправить сложный объект в качестве параметра моего запроса, используя Retrofit2 и Kotlin. Структура этого объекта следующая:
{
"id": "..."
"token": "..."
"message": "..."
"list1": [
{ "id": 1, "value": 2 },
{ "id": 2, "value": 5 }
//and so on...
]
"list2": [
{ "id": 10, "value": 16 },
{ "id": 11, "value": 21 }
//and so on...
]
//and so on...
}
Количество полей списка равно различных (может быть 2 списка, может быть 10), а также количество элементов в каждом списке , Для этого я использую следующий код, предварительно заполнив мою Карту соответствующими значениями:
@JvmSuppressWildcards
@FormUrlEncoded
@POST("get_data.php")
fun getResponse(
@FieldMap params: Map<String, Any>
): Observable<ResponseModelResult>
По какой-то причине этот подход не работает должным образом, и сервер просто игнорирует мои параметры. Я также пытался отправить их как @Body
строка / объект, но кажется, что сервер принимает только данные, кодированные FormUrlEnE .
Может кто-нибудь дать мне пример, как я должен отправлять такие данные в качестве параметра с использованием подхода @FieldMap
?