Отправка массива объектов в запросе на модернизацию - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь отправить массив объектов json, используя модификацию, в то время как это работает с сырым JSON в почтальоне, у меня проблемы с Android. Сейчас я просто делаю одно значение в массиве, это будет сделано позже.

Интерфейс API

@Headers({
        "Content-Type:application/json"
})
@PUT("/People")
Call<Task> updatePeople(
        @retrofit2.http.Header("Authorization") String authorization, @retrofit2.http.Body List<Person> body
);

запрос

fun updatePeople(person: Person, legId:Int){
    val peopleList = listOf(person)
    personApi.updatePeople(token, peopleList).enqueue(object : Callback<Task>{
        override fun onFailure(call: Call<List<Person>>, t: Throwable)
        {
            //Error
        }

        override fun onResponse(call: Call<List<Person>>, response: Response<List<Person>>)
        {
            if(response.code() == 200)
            {
                //It works
            }
        }
    })
}

1 Ответ

0 голосов
/ 10 января 2019

Попробуйте добавить "hasBody = true" следующим образом:

@FormUrlEncoded
@Headers("Content-Type: application/json")
@HTTP(method = "PUT", path = "/People", hasBody = true)
Call<Task> updatePeople(@retrofit2.http.Header("Authorization") String authorization, @retrofit2.http.Body List<Person> body);
...