Я пытаюсь отправить объект 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»)