I'm using Resttemplate class to get all User object. But when i run Main in Client then occur error, please let me know how fix it ???
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not deserialize instance of edu.java.spring.service.user.model.User out of START_ARRAY token at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@7d70d1b1; line: 1, column: 1]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of edu.java.spring.service.user.model.User out of START_ARRAY token at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@7d70d1b1; line: 1, column: 1] at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:228) at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.read(MappingJackson2HttpMessageConverter.java:220) at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:95) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:549) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:502) at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:239) at edu.java.spring.service.client.RestClientTest.getUsers(RestClientTest.java:57) at edu.java.spring.service.client.RestClientTest.main(RestClientTest.java:40) Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of edu.java.spring.service.user.model.User out of START_ARRAY token at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@7d70d1b1; line: 1, column: 1]
Here file RestClientTest.java
public class RestClientTest { public static void main(String[] args) throws IOException{ List<User> users = getUsers(); for (int i = 0; i < users.size(); i++) { System.out.println("Rest Response" + loadUser(users.get(i).getUserName())); } } public static List<User> getUsers(){ String uri = new String("http://localhost:8080/rest/user/list"); RestTemplate rt = new RestTemplate(); return (List<User>) rt.getForObject(uri,User.class); } Here file UserRestServiceController.java
@Controller public class UserRestServiceController { @Autowired public UserDao userDao; @RequestMapping(value = "/rest/user/list", produces = MediaType.APPLICATION_JSON_VALUE,method = RequestMethod.GET) public @ResponseBody List<User> getUsers(){ return userDao.listUsers(); }
http://howtodoinjava.com/spring/spring-restful/spring-restful-client-resttemplate-example/but really don't understand my project wrong