Итак, я играю с RestTemplate в REST API с весенней загрузкой.
У меня есть приложение весенней загрузки TEST, которое выполняет вызов restTemplate в другое приложение EMPLOYEE-TEST.
На данный момент класс модели Employee присутствует в обоих приложениях, но репозиторий присутствует только на стороне EMPLOYEE-TEST.
ПРОБЛЕМА: Итак, я просто пытаюсь выполнить обычную функцию findAll () со стороны TEST и, в свою очередь, пытаюсь получить список объектов Employee, но проблема в том, что я получаю список объектов LinkedHashMap вместо объекта Employee.
Теперь я могу установить переменные-члены одну за другой для небольшого класса, но когда в классе около 10 переменных-членов, а у меня тысячи таких классов, это невозможно.
Вот код.
TestController:
@RequestMapping("/test")
public class TestController {
@Autowired
private RestTemplate restTemplate;
@Value("${rest.url}")
private String url;
@GetMapping("/")
public ResponseEntity<Object> findEmployees(){
String response = restTemplate.getForObject(this.url, String.class);
System.out.println("response is \n"+response);
List<Employee> list_response = restTemplate.getForObject(this.url, List.class);
System.out.println(list_response);
for(Object e : list_response) {
System.out.println(e.getClass());
}
return new ResponseEntity (restTemplate.getForEntity(this.url, Object[].class), HttpStatus.OK);
}
}
url = http://localhost:8080/employee/
в application.properties
EmployeeController:
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeRepository eRepository;
@GetMapping("/")
public ResponseEntity<Employee> findAll(){
return new ResponseEntity ( eRepository.findAll(), HttpStatus.OK);
}
}
Выход:
response is
[{"id":1,"name":"Rahul","salary":10000},{"id":2,"name":"Rohit","salary":20000},{"id":3,"name":"Akash","salary":15000},{"id":4,"name":"Priya","salary":5000},{"id":5,"name":"Abhinav","salary":13000}]
[{id=1, name=Rahul, salary=10000}, {id=2, name=Rohit, salary=20000}, {id=3, name=Akash, salary=15000}, {id=4, name=Priya, salary=5000}, {id=5, name=Abhinav, salary=13000}]
class java.util.LinkedHashMap
class java.util.LinkedHashMap
class java.util.LinkedHashMap
class java.util.LinkedHashMap
class java.util.LinkedHashMap
Итак, первая строка в выводе печатает ответ, сохраненный в строке, а вторая - печать переменной list_response.
Теперь я должен иметь список объектов Employee вместо объектов LinkedHashMap.
Дайте мне знать, если что-нибудь потребуется от моего конца.