当前位置: 首页 > 知识库问答 >
问题:

如何通过参数和值后api使用改造android?

赫连黎昕
2023-03-14

@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个答案

田德运
2023-03-14

尝试以下方式。

您的APIendpoint

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

司知
2023-03-14

通过将json模型转换为POJO(使用GSON),可以使用@Body传递json对象/json数组。

看看这个!

 类似资料:
  • 问题内容: 我正在实现登录功能,并为此使用Post请求,但是我收到错误提示 “ retrofit.RetrofitError:com.squareup.okhttp.internal.http.HttpMethod.METHODS” 下面是我的代码 在它下面的logcat输出。 02-10 13:02:43.846:W / System.err(30684):retrofit.RetrofitEr

  • 我正在学习一门改造课程,在这门课程中,我创建了一个带有api的小型后端,其中我有一个POST方法来执行教师登录。在课程中,他所做的是创建一名教师,并使用set方法向他传递电子邮件和密码,这是该方法在API中接收的内容。 我希望这样做,在电话改造中,您可以直接通过此电子邮件和密码,我已通过以下方式完成: 这就是我的模范老师: 最后,我呼吁进行以下改造: 然而,当我运行应用程序并通过表单传递电子邮件和

  • 我在这里尽量说得具体一点。所以我已经创建了最基本的代码,只是为了测试它,但我仍然无法获得数据,请帮助!这是我的代码: 这是本地服务器上的json输出: [{“id”:1,“子类别”:“MudriPevci”,“标题”:“Mujo i haso”,“描述”:“Krenuli do Grada”,“作者”:“luka”,“日期”:“2016-06-13”},{“id”:3,“子类别”:“MudriPe

  • 在Hadoop中,我们可以在map/reduce任务中增加计数器,如下所示: 而不是在日志中找到它们的值。 如何在作业完成后从代码中访问它们? 读取计数器值的Hadoop API是什么?

  • 我正在使用c#、SpecFlow和Selenium进行BDD测试。我想创建方法来单击按钮。此按钮的名称应取自参数(字符串p0),如下所示: 使用XPath,我只能做到这一点: 但我想做更多类似的事情: 司机。FindElement(By.名称(p0))。单击(); 或 驾驶员FindElement(By.XPath(“//a[contains(,p0)]”)。单击(); 我不知道如何让它工作:(

  • 问题内容: 我正在尝试使用杰克逊对物体进行去电 我有这个例外: 我知道这正在发生,因为这是我的构造函数: 因此,我的构造函数接收到HttpResponse参数,但我没有传递它,但我不知道该怎么做。我不能用一个空的构造函数过度计费,因为我需要以这种方式接收HttpResponse对象。当我调用readValue()方法时,有什么方法可以传递此构造函数参数?或者在这种情况下最好的选择是什么?我感谢您的