gpt4 book ai didi

android - 格式化 Rails API 的 RetroFit post 请求

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

全部,

我第一次开始使用 RetroFit,它非常棒。也就是说,我在格式化 POST 请求时遇到了障碍。

我使用的 API 指定要创建用户,我需要像这样发送用户对象:

{
"user": {
"first_name": "John",
"last_name": "Doe",
"email": "john@doe.com",
"password": "jigglypuff123",
"password_confirmation": "jigglypuff123"
}
}

我知道我可以用这种形式发送一个 JsonObject,但我更想利用 RetroFit

如果我传入一个 User 对象,它不会被包含在 user 中。只是

{
"first_name": "John",
"last_name": "Doe",
"email": "john@doe.com",
"password": "jigglypuff123",
"password_confirmation": "jigglypuff123"
}

已发送。

我尝试使用 @Field 注释,结果是这样的:

@POST("/users")
void createUser(@Field("user[first_name]") String first, @Field("user[last_name]") String last, @Field("user[email]") String email, @Field("user[password]") String password, @Field("user[password_confirmation]") String password_confirmation, Callback<User> cb);

我遇到了这个错误:

@Field parameters can only be used with form encoding. (parameter #1)

有人知道如何实现吗?

最佳答案

试试这个:

@FormUrlEncoded
@POST("/users")
void createUser(@Field("user") User user, Callback<User> cb);

让我知道发生了什么:)

关于android - 格式化 Rails API 的 RetroFit post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684992/

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