Я использую Spring framework для получения данных JSON с локального сервера в объект через Http GET. Но объект всегда пустой (данные хранятся)Spring Android Framework - получение данных JSON через HTTP GET
- Я не проверил сервер и он работает нормально
- сервер возвращает
{"Propid":"61", "Proptitle":"3 bhk villa","Propdealer":"admin"}
- Я добавил Джексон Библиотеки
- у меня есть б StringHttpMessageConverter и возвращает строку JSON
{"Propid":"61", "Proptitle":"3 bhk villa","Propdealer":"admin"}
кидает исключение: Could not extract response: no suitable HttpMessageConverter found for response type [com.aditya.master.classes.Prop] and content type [text/html;charset=UTF-8]
Вот код, который анализирует ответ JSON
URI targetUrl= UriComponentsBuilder.fromUriString("http://192.168.1.9/PinSpace/oauth/")
.path("request_access/")
.queryParam("query", "get_property")
.queryParam("access_token", auth_code)
.queryParam("prop_id", "61")
.build()
.toUri();
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections.singletonList(new MediaType("application", "json")));
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
ResponseEntity<Prop> responseEntity = restTemplate.exchange(targetUrl, HttpMethod.GET, requestEntity, Prop.class);
Prop result = responseEntity.getBody();
Вот класс Prop
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Prop {
@JsonProperty
private String Propid, Proptitle, Propdealer;
public String getPropid() {
return Propid;
}
public void setPropid(String propid) {
Propid = propid;
}
public String getProptitle() {
return Proptitle;
}
public void setProptitle(String proptitle) {
Proptitle = proptitle;
}
public String getPropdealer() {
return Propdealer;
}
public void setPropdealer(String propdealer) {
Propdealer = propdealer;
}
}
Пожалуйста, предложить решение
Спасибо!
спасибо вакуума, ваш код десериализации работает отлично, но весна бросает исключение. Невозможно извлечь ответ: никакой подходящий HttpMessageConverter не найден для типа ответа [com.aditya.master.classes.Prop] и типа содержимого [text/html; charset = UTF-8] ', как я уже упомянул в редакции –
Я решил это, установив тип контента на сервере для приложения/JSON, спасибо btw vacuum !! –
@AdityaReddi Добро пожаловать – vacuum