[英]How to Fetch data from API using Retrofit in Android
I'm Trying to call API using retrofit in Android.我正在尝试使用 Android 中的 retrofit 调用 API。 Although I'm successfully able to api in response I'm getting Success Code = 200. But Apart from that Inside Json object Json array is null although while I'm trying to call same api in Postman I'm getting the desire result.
Although I'm successfully able to api in response I'm getting Success Code = 200. But Apart from that Inside Json object Json array is null although while I'm trying to call same api in Postman I'm getting the desire result.
I'm trying to call using POST request我正在尝试使用 POST 请求调用
URL Request:- https://example.com/AD1/api/user/profile URL 请求:- https://example.com/AD1/api/user/profile
I'm passing parameter in Body userid:- MFL176116我在 Body用户 ID 中传递参数:- MFL176116
Below Postman下面 Postman
APIInterface.java API接口.java
public interface APIInterface {公共接口 APIInterface {
@POST("profile")
Call<ProfilePojo> getUserProfile(@Body ProfilePojo profilePojo);
} }
ProfilePojo.java简介Pojo.java
public class ProfilePojo {公共 class ProfilePojo {
@SerializedName("message")
@Expose
private String message;
@SerializedName("code")
@Expose
private Integer code;
@SerializedName("user_data")
@Expose
private List<UserDatum> userData = new ArrayList();
private String userid;
public ProfilePojo(String userid) {
this.userid = userid;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public List<UserDatum> getUserData() {
return userData;
}
public void setUserData(List<UserDatum> userData) {
this.userData = userData;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public class UserDatum {
@SerializedName("id")
@Expose
private String id;
@SerializedName("username")
@Expose
private String username;
@SerializedName("password")
@Expose
private String password;
@SerializedName("under_id")
@Expose
private String underId;
@SerializedName("place_under_id")
@Expose
private String placeUnderId;
@SerializedName("mobile")
@Expose
private String mobile;
@SerializedName("side")
@Expose
private String side;
@SerializedName("email")
@Expose
private String email;
@SerializedName("status")
@Expose
private String status;
@SerializedName("member_name")
@Expose
private String memberName;
@SerializedName("package_id")
@Expose
private String packageId;
@SerializedName("package_id1")
@Expose
private String packageId1;
@SerializedName("avatar")
@Expose
private String avatar;
@SerializedName("gender")
@Expose
private Object gender;
@SerializedName("date_of_birth")
@Expose
private Object dateOfBirth;
@SerializedName("address_line1")
@Expose
private String addressLine1;
@SerializedName("address_line2")
@Expose
private String addressLine2;
@SerializedName("country")
@Expose
private String country;
@SerializedName("country_code")
@Expose
private String countryCode;
@SerializedName("state")
@Expose
private String state;
@SerializedName("city")
@Expose
private String city;
@SerializedName("pincode")
@Expose
private String pincode;
@SerializedName("pancard_no")
@Expose
private String pancardNo;
@SerializedName("adharcard_no")
@Expose
private String adharcardNo;
@SerializedName("franchaise_type")
@Expose
private String franchaiseType;
@SerializedName("franchise_id")
@Expose
private Object franchiseId;
@SerializedName("franchise_per")
@Expose
private Object franchisePer;
@SerializedName("franchise_status")
@Expose
private Object franchiseStatus;
@SerializedName("transaction_pass")
@Expose
private String transactionPass;
@SerializedName("id_proof")
@Expose
private Object idProof;
@SerializedName("address_proof")
@Expose
private Object addressProof;
@SerializedName("self_video")
@Expose
private String selfVideo;
@SerializedName("residential_proof")
@Expose
private String residentialProof;
@SerializedName("btc_address")
@Expose
private Object btcAddress;
@SerializedName("perfect_money")
@Expose
private Object perfectMoney;
@SerializedName("email_status")
@Expose
private String emailStatus;
@SerializedName("email_verify")
@Expose
private String emailVerify;
@SerializedName("created_on")
@Expose
private String createdOn;
@SerializedName("edited_on")
@Expose
private String editedOn;
@SerializedName("isDeleted")
@Expose
private String isDeleted;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUnderId() {
return underId;
}
public void setUnderId(String underId) {
this.underId = underId;
}
public String getPlaceUnderId() {
return placeUnderId;
}
public void setPlaceUnderId(String placeUnderId) {
this.placeUnderId = placeUnderId;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getSide() {
return side;
}
public void setSide(String side) {
this.side = side;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getPackageId() {
return packageId;
}
public void setPackageId(String packageId) {
this.packageId = packageId;
}
public String getPackageId1() {
return packageId1;
}
public void setPackageId1(String packageId1) {
this.packageId1 = packageId1;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public Object getGender() {
return gender;
}
public void setGender(Object gender) {
this.gender = gender;
}
public Object getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Object dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getAddressLine1() {
return addressLine1;
}
public void setAddressLine1(String addressLine1) {
this.addressLine1 = addressLine1;
}
public String getAddressLine2() {
return addressLine2;
}
public void setAddressLine2(String addressLine2) {
this.addressLine2 = addressLine2;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getPincode() {
return pincode;
}
public void setPincode(String pincode) {
this.pincode = pincode;
}
public String getPancardNo() {
return pancardNo;
}
public void setPancardNo(String pancardNo) {
this.pancardNo = pancardNo;
}
public String getAdharcardNo() {
return adharcardNo;
}
public void setAdharcardNo(String adharcardNo) {
this.adharcardNo = adharcardNo;
}
public String getFranchaiseType() {
return franchaiseType;
}
public void setFranchaiseType(String franchaiseType) {
this.franchaiseType = franchaiseType;
}
public Object getFranchiseId() {
return franchiseId;
}
public void setFranchiseId(Object franchiseId) {
this.franchiseId = franchiseId;
}
public Object getFranchisePer() {
return franchisePer;
}
public void setFranchisePer(Object franchisePer) {
this.franchisePer = franchisePer;
}
public Object getFranchiseStatus() {
return franchiseStatus;
}
public void setFranchiseStatus(Object franchiseStatus) {
this.franchiseStatus = franchiseStatus;
}
public String getTransactionPass() {
return transactionPass;
}
public void setTransactionPass(String transactionPass) {
this.transactionPass = transactionPass;
}
public Object getIdProof() {
return idProof;
}
public void setIdProof(Object idProof) {
this.idProof = idProof;
}
public Object getAddressProof() {
return addressProof;
}
public void setAddressProof(Object addressProof) {
this.addressProof = addressProof;
}
public String getSelfVideo() {
return selfVideo;
}
public void setSelfVideo(String selfVideo) {
this.selfVideo = selfVideo;
}
public String getResidentialProof() {
return residentialProof;
}
public void setResidentialProof(String residentialProof) {
this.residentialProof = residentialProof;
}
public Object getBtcAddress() {
return btcAddress;
}
public void setBtcAddress(Object btcAddress) {
this.btcAddress = btcAddress;
}
public Object getPerfectMoney() {
return perfectMoney;
}
public void setPerfectMoney(Object perfectMoney) {
this.perfectMoney = perfectMoney;
}
public String getEmailStatus() {
return emailStatus;
}
public void setEmailStatus(String emailStatus) {
this.emailStatus = emailStatus;
}
public String getEmailVerify() {
return emailVerify;
}
public void setEmailVerify(String emailVerify) {
this.emailVerify = emailVerify;
}
public String getCreatedOn() {
return createdOn;
}
public void setCreatedOn(String createdOn) {
this.createdOn = createdOn;
}
public String getEditedOn() {
return editedOn;
}
public void setEditedOn(String editedOn) {
this.editedOn = editedOn;
}
public String getIsDeleted() {
return isDeleted;
}
public void setIsDeleted(String isDeleted) {
this.isDeleted = isDeleted;
}
}
} }
Dashboard.java仪表板.java
private void getUserProfile() {
apiInterface = ApiLinks.getClient().create(APIInterface.class);
ProfilePojo profilePojo = new ProfilePojo("MFL176116");
Call<ProfilePojo> call = apiInterface.getUserProfile(profilePojo);
call.enqueue(new Callback<ProfilePojo>() {
@Override
public void onResponse(@NonNull Call<ProfilePojo> call, @NonNull Response<ProfilePojo> response) {
ProfilePojo profilePojo = response.body();
Toast.makeText(getApplicationContext(), "sucess", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(@NonNull Call<ProfilePojo> call, @NonNull Throwable t) {
Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
After debugging the code can see Message is success, code =200, but userdata size ==0 please help me to get rid of this error调试代码后可以看到Message is success, code =200, but userdata size ==0 请帮我摆脱这个错误
Check again the way that you are calling the api, even your userid is getting null, probably it's getting null in the user, but the response is 200 bc there was no error, simply no user with that id.再次检查您调用 api 的方式,即使您的用户 ID 正在获取 null,也可能是在用户中获取 null,但响应只是没有错误,没有 200 bid。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.