gpt4 book ai didi

android - 发送 2 个对象模型作为 @body 改造的输入

转载 作者:行者123 更新时间:2023-12-02 13:33:05 25 4
gpt4 key购买 nike

您好我想发送 2 个对象而不创建新的 api 模型。

例如,我有一个名为 User 的类和另一个名为 Device 的类。

我想结合这两个模型并将其作为请求正文发送。

Retrofit Post 请求将如下所示:

@POST("/login")
fun loginAPI(@Body user: UserModel, @Body device : DeviceModel): Observer<CallbackModel>

最终 JSON 也会是这样的:
"user" : {
"username" : "XXX"
...
}
"device" : {
"imei" : "XXX"
...
}

记住:我知道我可以创建一个包含用户和设备属性等的新类。问题是我不喜欢为每个端点创建一个新类。

最佳答案

Retrofit 不允许在单个请求中发送多个主体对象,因为它包含 POST 请求的消息主体。因此,作为替代解决方案,您可以将两个模型都传递到 hashmap 主体中,如下所示:

API接口(interface)

@POST("/login")
fun loginAPI(@Body map: HashMap): Observer<CallbackModel>

来电类
val map = HashMap<String, Object>()
map.put("user", userModel)
map.put("device", deviceModel)

希望能帮助到你。

关于android - 发送 2 个对象模型作为 @body 改造的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60184335/

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