My problem is, if I call this URL and get a response with String, I got it, but with Class ESearchResult no. What I am doing here wrong? Please help...
String url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=covid";//config.getPmcUrl() + "esearch.fcgi?db=pubmed&term=covid";
RestTemplate restTemplate = this.getRestTemplate();
HttpHeaders headers = this.getHeaders();
HttpEntity<ESearchResult> requestEntity = new HttpEntity<ESearchResult>(headers);
//ResponseEntity<ESearchResult> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, ESearchResult.class);
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
String esearch = response.getBody(); //this works
//ESearchResult esearch = response.getBody();//this doesn't work
ESearchResult class I check with a namespace or without.
@Getter
@Setter
@XmlAccessorType(value = XmlAccessType.FIELD)
@XmlRootElement(name = "eSearchResult", namespace = "http://eutils.ncbi.nlm.nih.gov/eutils/dtd/20060628/esearch.dtd")
public class ESearchResult {
/*@XmlElement(name = "IdList", namespace = "https://eutils.ncbi.nlm.nih.gov/eutils/dtd/20060628/esearch.dtd")
private List<IdList> idList;*/
@XmlElement(name = "Count", namespace = "https://eutils.ncbi.nlm.nih.gov/eutils/dtd/20060628/esearch.dtd")
private Integer count;
@XmlElement(name = "RetMax", namespace = "https://eutils.ncbi.nlm.nih.gov/eutils/dtd/20060628/esearch.dtd")
private Integer retMax;
@XmlElement(name = "RetStart", namespace = "https://eutils.ncbi.nlm.nih.gov/eutils/dtd/20060628/esearch.dtd")
private Integer retStart;
}
The result from URL