【已解决】 网页可以请求到数据,但Retrofit请求到的response.body()为空
在使用Retrofit时遇到了一下问题:
使用网页时可以正常访问到数据
但在使用Android端Retrofit时请求到的response.body为空。
以下为代码:
api接口
public interface UserApi {
@GET
Call<UserInform> getUserInformById(@Url String url);
}
public class HttpUtil {
private static Retrofit retrofit=new Retrofit.Builder()
.baseUrl("http://192.168.31.44:10001")
.addConverterFactory(GsonConverterFactory.create())
.build();
private static final String TAG="";
public static Retrofit getRetrofit(){
return retrofit;
}
}
请求方法:
public void getUserInformAndUserId(){
String url="/safe/userInform/getUserInformById/"+"10006";
UserApi userApi = HttpUtil.getRetrofit().create(UserApi.class);
retrofit2.Call<UserInform> task= userApi.getUserInformById(url);
task.enqueue(new Callback<UserInform>() {
@Override
public void onResponse(retrofit2.Call<UserInform> call, Response<UserInform> response) {
Log.d(TAG,"onResponse --->"+ response.code());
if(response.code()== HttpsURLConnection.HTTP_OK){
System.out.println(response.body());
homePage.this.runOnUiThread(new Runnable() {
@Override
public void run() {
userInform=response.body();
System.out.println(userInform);
// Gson gson=new Gson();
// userInform=gson.fromJson(finalInform,UserInform.class);
// userInform.setId(BigInteger.valueOf(Long.parseLong("22222")));
// System.out.println(userInform);
}
});
}
}
@Override
public void onFailure(retrofit2.Call<UserInform> call, Throwable t) {
Log.d(TAG,"onFailure --->"+ t.toString());
}
});
}
UserInform类
public class UserInform {
private BigInteger Id;
private String UserPhone;
private String UserIdNum;
private int isDel;
public UserInform(){
}
public UserInform(int isDel,BigInteger id, String userIdNum ,String userPhone) {
Id = id;
UserPhone = userPhone;
UserIdNum = userIdNum;
this.isDel = isDel;
}
public BigInteger getId() {
return Id;
}
public void setId(BigInteger id) {
Id = id;
}
public String getUserPhone() {
return UserPhone;
}
public void setUserPhone(String userPhone) {
UserPhone = userPhone;
}
public String getUserIdNum() {
return UserIdNum;
}
public void setUserIdNum(String userIdNum) {
UserIdNum = userIdNum;
}
public int getIsDel() {
return isDel;
}
public void setIsDel(int isDel) {
this.isDel = isDel;
}
@Override
public String toString() {
return "UserInform{" +
"Id=" + Id +
", UserPhone='" + UserPhone + '\'' +
", UserIdNum='" + UserIdNum + '\'' +
", isDel=" + isDel +
'}';
}
}


破案了,因为类内大小写不一致userIdNum写成UserIdNum了 (悲