Передача логической переменной от модифицированного клиента, приводящая к нулевому значению на сервере - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь отправить объект json, созданный из retrofit2, в API.Некоторые переменные, ожидаемые API, являются логическими.Независимо от того, что вводит от клиента дооснащения для этих переменных, результирующие данные в API выходят как нулевые.Другие переменные выходят абсолютно нормально.Когда я проверяю один и тот же вход от почтальона, значения выходят просто отлично (как для логических, так и для не логических переменных).Возможно, что имена установщиков геттеров неверны, но я не уверен.Было бы здорово, если бы кто-то мог помочь.

Вот запрос на сборку:

    final AucUserEndPoint apiService3 = APIClient.getPostClient().create(AucUserEndPoint.class);

    Call<UpdateAucUser> call = apiService3.updateUser(new UpdateAucUser(userId, acceptTnC, loanType, hasFinancial, hasBankStmt,
                    requestAmount, isProprietor, noEmployee));

call.enqueue(new Callback<UpdateAucUser>() {
            @Override
            public void onResponse(Call<UpdateAucUser> call, Response<UpdateAucUser> response) {
                if(response.code()==400){
                    try {
                        Gson gson = new Gson();
                        CustomError message=gson.fromJson(response.errorBody().charStream(),CustomError.class);
                        String errMsg = message.getErrorMessageKey();
                        System.out.println(errMsg);
                    } catch (Exception e) {
                        System.out.println("Unknown errors from UU");
                    }

                } else if (response.isSuccessful()) {
                    userId = response.body().getUserId();
                    System.out.println("New Lead updated");
                } else {
                    System.out.println("Response body is now null:UU");
                }
            }

            @Override
            public void onFailure(Call<UpdateAucUser> call, Throwable t) {
                System.out.println("Some Failure occured");
            }
        });

Это мой метод getPostClient () в классе APIClient:

public static Retrofit getPostClient() {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory
                    .create()).build();


    return retrofit;
}

Этоэто класс AUCUserEndPOint:

import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;

public interface AucUserEndPoint {

    @POST("/auctest1-ws/api/pending")
    Call<UpdateAucUser> updateUser(@Body UpdateAucUser newUser);
}

Наконец, это моя модель POJO для UpdateAUCUser

package model;

import com.google.gson.annotations.SerializedName;

public class UpdateAucUser {

    @SerializedName("userId")
    private String userId;

    @SerializedName("acceptTnC")
    private String acceptTnC;

    @SerializedName("loanType")
    private String loanType;

    @SerializedName("hasFinancial")
    private boolean hasFinancial;

    @SerializedName("hasBankStmt")
    private boolean hasBankStmt;

    @SerializedName("requestAmount")
    private String requestAmount;

    @SerializedName("isProprietor")
    private boolean isProprietor;

    @SerializedName("noEmployee")
    private String noEmployee;

    public UpdateAucUser(String userId, String acceptTnC,String loanType, boolean hasFinancial, boolean hasBankStmt, String requestAmount, boolean isProprietor, String noEmployee) {
        this.userId = userId;
        this.acceptTnC = acceptTnC;
        this.loanType = loanType;
        this.hasFinancial = hasFinancial;
        this.hasBankStmt = hasBankStmt;
        this.requestAmount = requestAmount;
        this.isProprietor = isProprietor;
        this.noEmployee = noEmployee;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getAcceptTnC() {
        return acceptTnC;
    }

    public void setAcceptTnC(String acceptTnC) {
        this.acceptTnC = acceptTnC;
    }

    public String getLoanType() {
        return loanType;
    }

    public void setLoanType(String loanType) {
        this.loanType = loanType;
    }

    public boolean getHasFinancial() {
        return hasFinancial;
    }

    public void setHasFinancial(boolean hasFinancial) {
        this.hasFinancial = hasFinancial;
    }

    public boolean getHasBankStmt() {
        return hasBankStmt;
    }

    public void setHasBankStmt(boolean hasBankStmt) {
        this.hasBankStmt = hasBankStmt;
    }

    public String getRequestAmount() {
        return requestAmount;
    }

    public void setRequestAmount(String requestAmount) {
        this.requestAmount = requestAmount;
    }

    public boolean getIsProprietor() {
        return isProprietor;
    }

    public void setIsProprietor(boolean isProprietor) {
        this.isProprietor = isProprietor;
    }

    public String getNoEmployee() {
        return noEmployee;
    }

    public void setNoEmployee(String noEmployee) {
        this.noEmployee = noEmployee;
    }

}

, если на входе есть UpdateAucUser ("abc", "y", "p", true, true, «1000», false, «20») API видит («abc», «y», «p», null, null, «1000», null, «20»)

...