【发布时间】:2021-01-23 03:40:57
【问题描述】:
我正在使用改造从我的 android 应用程序执行 api 调用。但响应显示状态代码 200 和 ok 消息。 但是调用的数据是由 httpClient 返回的。 那么如何处理我的呼叫的响应数据。 这里的响应将是
请求负载
/okhttp.OkHttpClient: {"data":{"email":"foobar@gmail.com","password":"PASSWoRD121"}}
回复:
okhttp.OkHttpClient: {"data":"my tokken"}
这是我打印出来的回复,不会给出上述数据。如何将令牌设置为我的下一个呼叫?
response ==== Response{protocol=http/1.1, code=200, message=OK, url="http://tyhgfhfty/hfhgfh/"}
ApiService.java
@POST(ApiConstant.Login)
Call<User> LoginRequest(@Body JsonObject user);
登录活动:
ApiService userLoginService = retrofit.create(ApiService.class);
final JsonObject jo = new JsonObject();
jo.addProperty(ApiParameter.EMAIL, email);
jo.addProperty(ApiParameter.PASSWORD, password);
final JsonObject jobj = new JsonObject();
jobj.add(ApiParameter.DATA, jo);
userLoginService.userLogin(jobj).enqueue(new Callback<LoginRequest>(){
@Override
public void onResponse(Call<LoginRequest> call, Response<LoginRequest>response) {
System.out.println(("response ===" + response));
LoginRequest.java
public class LoginRequest {
private String email;
private String password;
public void setEmail(String email) {
this.email = email;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public String getPassword() {
return password;
}
}
【问题讨论】:
-
可以通过解析JSON从
response.getBody();获取token -
能否告诉我 getBody 来自哪些依赖项。我只得到 response.body() 它返回 null
-
哦,对不起,是
response.body()。提供您的用户类代码。 -
@ErwinKurniawanA 将 User.java 修改为 LoginRequest.java。你能看看上面的代码吗?现在得到响应为 mypackagename.LoginRequest@edfafe9
-
通过
getData()访问,应该是response.body().getData()
标签: java android-studio retrofit2