Android Studio retrofit2响应获取数据

AndroidStudio retrofit2 response getting data

我的 REST API 响应如下所示:

{
"message": "OK",
"data": {
    "api_token": "1dwdafg45567fsf",
    "name": "Albert",
    "second_name": "Ferbs"
 }
}

我的界面是:

@POST("api/login")
Call<LoginResponse> loginUser(@Body LoginRequest loginRequest);

我想从“api_token”中获取一个值。 我的登录响应是:

public class LoginResponse implements Serializable {
private String api_token;

public String getApi_token() {
    return api_token;
}

public void setApi_token(String api_token) {
    this.api_token= api_token;
}
}

但是loginResponse.getApi_token() returns我“无效”。我该怎么办?

你应该做如下:

首先创建数据class解析器

public class Data implements Serializable {
       @SerializedName("api_token")
       private String api_token;

       public String getApi_token() {
       return api_token;
      }

}

然后更改您的 loginResponse class :

public class LoginResponse implements Serializable {

@SerializedName("message")
private String message;
@SerializedName("data")
private Data data;

public String getMessage() {
    return message;
}

public String getData() {
    return data;
}

}

然后你可以调用你的方法

response.getData().getApi_token();