如何使用 android 中的改造将参数和值传递给 post api?

How can I pass the param and value to post api using retrofit in android?

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

这是我的模型class

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

另一个模型class

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

您可以使用 @Body 传递 json object / json array,方法是将 json model 转换为 POJO(使用 GSON)。

检查 this

试试下面的方法。

您的 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);
// ........