gpt4 book ai didi

android - 使用 Retrofit 以这种格式发布字段

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

所以我需要以这种格式发送一个API请求

{ "access_key": "6477848488cchfc47488", "person": { "first_name": "John", "last_name": "Henry", "email": "john@henry.com" } }

我创建了一个对象

public class Person {
public String first_name = "";
public String last_name = "";
public String email = "";
}

在我的界面中有

@FormUrlEncoded
@POST("/send_details")
void sendDetails(@Field("person") Person person, @Field("access_key") String accessKey, Callback<User> cb);

最后在我的 Activity 中,我有下面的代码来调用发送详细信息方法

Person person = new Person("John", ":"Henry, "john@henry.com");
aApi.sendDetails(person, ACCESS_KEY, new Callback<User>() {
@Override
public void success(User user, Response response) {

}

@Override
public void failure(RetrofitError error) {

}
});
}

我收到 500 内部服务器错误。我刚刚从 Volley 切换到 retrofit 。非常感谢任何帮助。

最佳答案

尝试使用 @Body 注释代替 @Field 并传递单个 Body 对象。

class DetailsBody {
@SerializedName("access_key")
public String accessKey;
public Person person;

public DetailsBody(String accessKey, Person person) {
this.accessKey = accessKey;
this.person = person;
}
}

然后:

@POST("/send_details")
void sendDetails(@Body DetailsBody body, Callback<User> cb);

(没有@FormUrlEncoded)

关于android - 使用 Retrofit 以这种格式发布字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30368620/

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