简体   繁体   English

如何使用 Android 中的 Retrofit 从 API 获取数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM