Как я могу передать параметр и значение, чтобы опубликовать API с помощью модернизации в Android? - PullRequest
0 голосов
/ 24 октября 2019

enter image description here

@Headers("Content-Type: application/json")
@POST("answer")
fun sendAnswer(@Header("token") token :String, @Body answer: SendAnswerModel):Call<SendAnswerResultModel>

вот мой класс модели

data class Vote2019Answer(
    @SerializedName("question_id") @Expose val id: Int,
    @SerializedName("answer") @Expose val answer: String)

другой класс модели

data class SendAnswerModel(
    @SerializedName("answer") @Expose val answer: List<Vote2019Answer> )

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Попробуйте следующим образом.

Ваша конечная точка API

@POST("url")
Call<ResponseBody> yourAPi(@Body JSONArray jsonArray);

И вызов API с использованием данных параметров

String[] answer = {"aaa","bbb","ccc"}
JSONArray jsArray= new JSONArray();
try {
    for(int i = 0; i < answer.length; i++) {
        JSONObject object = new JSONObject();
        object.put("question_id",i+1);
        object.put("answer",answer[i]);
        jsArray.put(object);
    }

} catch (JSONException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}   
// here you can call your api 
Call<ResponseBody> call =  yourApiService.yourAPi(jsArray);
// ........

0 голосов
/ 24 октября 2019

Вы можете передать json object / json array, используя @ Body , преобразовав json model в POJO (используя GSON).

Проверьте это out!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...