Android 使用改装2响应车身为空
所以我在《邮递员》中尝试了这个请求,效果很好。但是当我在Android中执行此操作时,response.body()是空的。该请求发送一封电子邮件和登录密码,并应返回用户对象和其他详细信息Android 使用改装2响应车身为空,android,api,retrofit2,response,Android,Api,Retrofit2,Response,所以我在《邮递员》中尝试了这个请求,效果很好。但是当我在Android中执行此操作时,response.body()是空的。该请求发送一封电子邮件和登录密码,并应返回用户对象和其他详细信息 loginUser.enqueue(new Callback<User>() { @Override public void onResponse(Call<User> call, Response<User> respons
loginUser.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.isSuccessful()) {
loginView.onLoginResult(response.body());
} else {
loginView.showLoginErrorResult();
}
}
}
我的用户类:
public class User {
@SerializedName("id")
@Expose
private String id;
@SerializedName("token")
@Expose
private String token;
@SerializedName("email")
@Expose
private String email;
@SerializedName("firstName")
@Expose
private String firstName;
@SerializedName("lastName")
@Expose
private String lastName;
public User(String id, String token, String email, String firstName, String lastName) {
this.id = id;
this.token = token;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
}
//getters &setters...
}
邮递员要求:
{
"email":"test@email.com",
"password":"123456"
}
邮递员回应:
{
"success": true,
"payload": {
"email": "test@email.com",
"firstName": "test",
"lastName": "test",
}
}
我也收到了200条回复,但没有关于身体的数据。创建一个这样的新模型
public class ResponseApi{
boolean success;
User payload;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public User getPayload() {
return payload;
}
public void setPayload(User payload) {
this.payload = payload;
}
}
public interface NetworkAPI {
@POST("users/login")
Call< ResponseApi > login(@Body UserLogin userLogin);
}
然后像这样更改代码
public class ResponseApi{
boolean success;
User payload;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public User getPayload() {
return payload;
}
public void setPayload(User payload) {
this.payload = payload;
}
}
public interface NetworkAPI {
@POST("users/login")
Call< ResponseApi > login(@Body UserLogin userLogin);
}
公共接口网络API{
@POST(“用户/登录”)
调用login(@Body-UserLogin-UserLogin);
}
希望它能奏效。。实际上,由于结构不同,改型无法解析json对象 请发布改型接口类、示例URL和Postman客户端截图。共享您的用户类和Postman的Json响应。@IntsabHaider我已更新我的postCall