gpt4 book ai didi

java - 用 retrofit2 发送这个 formjson

转载 作者:行者123 更新时间:2023-11-29 04:13:00 25 4
gpt4 key购买 nike

我有这个 JSON 正文,我想将它发送到服务器。

{
"username" : "aa",
"email" : "aa@email.com",
"telephone" : 1234565165,
"plainPassword" : {
"first" : "aa",
"second" : "aa"
}
}

我使用这个实体:

用户.java

public class User {

private int id;
private String username;
private long telephone;
private String email;
private String image_name;
private int activation;
private int status;
private String randomcode;

}

普通密码.java

public class PlainPassword {

private String first;
private String second;

}

我的API接口(interface)类

@POST("registerREST")
Call<Object> addUser(@Body Object user);

我是这样使用它的:

Call<Object> call = services.addUser(u);

call.enqueue(new Callback<Object>() {

@Override
public void onResponse(Call<Object> call, Response<Object> response) {

if(response.isSuccessful()){

LinkedTreeMap treemap = (LinkedTreeMap) response.body();
RegisterResponse review = new RegisterResponse();
double d = Double.parseDouble(treemap.get("userId").toString()) ;
review.setUserId((int) d );

if(review.getUserId() == 0) {

} else {

}
}
}


@Override
public void onFailure(Call<Object> call, Throwable t) {

}

});

最佳答案

你必须这样做的方式是:有两个对象

public class Example {

@SerializedName("username")
@Expose
private String username;
@SerializedName("email")
@Expose
private String email;
@SerializedName("telephone")
@Expose
private Integer telephone;
@SerializedName("plainPassword")
@Expose
private PlainPassword plainPassword;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public Integer getTelephone() {
return telephone;
}

public void setTelephone(Integer telephone) {
this.telephone = telephone;
}

public PlainPassword getPlainPassword() {
return plainPassword;
}

public void setPlainPassword(PlainPassword plainPassword) {
this.plainPassword = plainPassword;
}

}


import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class PlainPassword {

@SerializedName("first")
@Expose
private String first;
@SerializedName("second")
@Expose
private String second;

public String getFirst() {
return first;
}

public void setFirst(String first) {
this.first = first;
}

public String getSecond() {
return second;
}

public void setSecond(String second) {
this.second = second;
}

}

然后您需要以这种格式发送:

@POST("registerREST")
Call<ReturningObject> addUser(@Body Example user);

如果您对此有更多疑问,我邀请您查看此网站:https://futurestud.io/tutorials/retrofit-getting-started-and-android-client

关于java - 用 retrofit2 发送这个 formjson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53937222/

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