gpt4 book ai didi

android - Retrofit2 - 在 GET 请求中发送类型 T 的数组

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:47 25 4
gpt4 key购买 nike

我需要使用 retrofit2 在 GET 请求的正文中发送类型为 User[] 的数组。这是最终有效载荷必须看起来的样子:

body: {
"data_id": 1,
"data_provider": "string_value",
"users": [
{
user_id: 1,
name: 'name'
},
{
user_id: 1,
name: 'name'
},
...
]
}

当前的 API 实现如下所示:

@GET("api/users/submit.json")
Call<UserData> submitData(@Query("data_id") int data_id, @Query("data_provider") String data_provider, @Query("users[]") User[] users);

数组列表代码:

//Converting the ArrayList<User> usersList to an array
User[] userArray = usersList.toArray(new User[0]);
//The userArray is passed to the retrofit API along with the other request values (data_id, data_provider)

在记录改造请求时,data_iddata_provider 被正确发送,但 User 数组除外。用户数组如下所示:

api/users/submit.json?data_id=1&data_provider=test&users[]=com.testapp.models.User@7d57487

如何在 GET 请求正文中发送类型为 User 的数组?

最佳答案

您可以使用@Body 注解在请求正文中发送用户对象

大致是这样的:

你的用户模型

class User {
}

存储用户列表的用户类

class RequestBody {
int data_id;
String data_provider;
List<User> users;
}

@POST("api/users/submit.json")
Call<UserData> submitData(@Body RequestBody requestbody);

您可以在此处详细了解它:

https://futurestud.io/tutorials/retrofit-send-objects-in-request-body

关于android - Retrofit2 - 在 GET 请求中发送类型 T 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com