Модификация 2: извлечение значения из массива ответов - PullRequest
2 голосов
/ 27 апреля 2020

Я пытаюсь извлечь значение из тела ответа моего Get Call в модификации 2. Я хочу извлечь evey "id", но я не могу вызвать получатели из класса Response, я думаю, что это может иметь какое-то отношение к [] в классе ответа, когда я удаляю [], он возвращает ошибку Джексона, поэтому я, кажется, застрял

Вызов:

public interface RetrofitCallsGetFavourites {


@GET("diagnosis/configuration")
Call<GetFavouritesReponse[]> getDiagnosisFavourites (@Query("favourite") Boolean fave, 
@Header("Authorization") String authHeader);

}

Это метод, который я использую, он не позволит мне вызывать любые методы получения

public class LoginApiStepDefinition extends TestBaseFix {

Retrofit retrofit = super.buildRetrofit(super.buildOkHttpClient());
RetrofitCallsLogin call = retrofit.create(RetrofitCallsLogin.class);
RetrofitCallsGetFavourites favecall = retrofit.create(RetrofitCallsGetFavourites.class);





@Then("I get the list of favourites with {string} and {string}")
public void iGetTheListOfFavouritesWithAnd(String username, String password) throws Exception {
    String auth = "Bearer " + LoginApi(username,password);
    String list = favecall.getDiagnosisFavourites(true,auth).execute().body().toString();
    System.out.println(list);

}
}

Класс тела ответа

public class GetFavouritesReponse {

@JsonProperty("id")
private Integer id;
@JsonProperty("version")
private Integer version;
@JsonProperty("createdDate")
private Object createdDate;
@JsonProperty("modifiedDate")
private Object modifiedDate;
@JsonProperty("rie")
private Boolean rie;
@JsonProperty("diagnosisName")
private String diagnosisName;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();

@JsonProperty("id")
public Integer getId() {
    return id;
}

@JsonProperty("id")
public void setId(Integer id) {
    this.id = id;
}

@JsonProperty("version")
public Integer getVersion() {
    return version;
}

@JsonProperty("version")
public void setVersion(Integer version) {
    this.version = version;
}

@JsonProperty("createdDate")
public Object getCreatedDate() {
    return createdDate;
}

@JsonProperty("createdDate")
public void setCreatedDate(Object createdDate) {
    this.createdDate = createdDate;
}

@JsonProperty("modifiedDate")
public Object getModifiedDate() {
    return modifiedDate;
}

@JsonProperty("modifiedDate")
public void setModifiedDate(Object modifiedDate) {
    this.modifiedDate = modifiedDate;
}

@JsonProperty("rie")
public Boolean getRie() {
    return rie;
}

@JsonProperty("rie")
public void setRie(Boolean rie) {
    this.rie = rie;
}

@JsonProperty("diagnosisName")
public String getDiagnosisName() {
    return diagnosisName;
}

@JsonProperty("diagnosisName")
public void setDiagnosisName(String diagnosisName) {
    this.diagnosisName = diagnosisName;
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
    return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
    this.additionalProperties.put(name, value);
}


}

Вот пример того, что возвращается, вызов работает правильно, я просто не могу разобрать информацию правильно, я пытаюсь извлечь все идентификаторы

[ {
"id" : 15,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Angina pectoris - Angina pectoris with documented spasm"
}, {
"id" : 14,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Angina pectoris - Unstable angina"
},{
"id" : 22,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Seropositive rheumatoid arthritis - Seropositive rheumatoid arthritis, unspecified                 
Pelvic region and thigh"
}, {
"id" : 27,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Test Diagnosis Cardiology"
}, {
"id" : 26,
"version" : 0,
"createdDate" : null,
"modifiedDate" : null,
"rie" : false,
"diagnosisName" : "Test Diagnosis with Service"
} ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...