I am using Spring Boot REST example. In this I am using RestTemplate to call the endpoint which returns PagedResources<Resource<EmployeeDto>>
Object. But when calling through RestTemplate
, I did not get any contents. However this service is build in another microservice which easily accessible over web and can be call through Postman.
@GetMapping("/{employeeId}/employees")
public PagedResources<Resource<EmployeeDto>> getEmployyes(@PathVariable(name="employeeId") String employeeId,
@RequestParam(defaultValue="0",required = false, name="page") Integer page,
@RequestParam(defaultValue="25",required = false, name = "size") Integer size,
@RequestParam(defaultValue="billingNumber") String sortParam,
@RequestParam(defaultValue="ASC",required = false) Direction direction,
Pageable pageable, HttpServletRequest request) throws IOException{
return employeeService.getEmployeesByCid(employeeId, request);
}
I used below code and it gives me no contents.
String uri = "http://localhost:8080/employee-api/employees/160166/employees?page=0&size=25";
RestTemplate template = new RestTemplate();
ResponseEntity<PagedResources<Resource<EmployeeDto>>> studentResponse = template
.exchange(uri, HttpMethod.GET, null, new TypeReferences.PagedResourcesType<Resource<EmployeeDto>>(){});
System.out.println(studentResponse.getBody());
If I used below, then I get the response.
final ResponseEntity<String> studentResponse = template
.exchange(URL, HttpMethod.GET, null, String.class);
Note: If I execute code through Postman I get below response.
{
"_embedded": {
"employeeDto": [
{
"employeeNumber": "3109194",
"status": "A"
},
{
"employeeNumber": "3109224",
"status": "A"
},
{
"employeeNumber": "3109514",
"status": "A"
},
{
"employeeNumber": "3109519",
"status": "A"
}
]
},
"_links": {
"first": {
"href": "http://localhost:8080/customers/1/employee-numbers?sortParam=employeeNumber&page=0&size=4&sort=employeeNumber,asc"
},
"prev": {
"href": "http://localhost:8080/customers/1/employee-numbers?sortParam=employeeNumber&page=0&size=4&sort=employeeNumber,asc"
},
"self": {
"href": "http://localhost:8080/customers/1/employee-numbers?sortParam=employeeNumber&page=1&size=4&sort=employeeNumber,asc"
},
"next": {
"href": "http://localhost:8080/customers/1/employee-numbers?sortParam=employeeNumber&page=2&size=4&sort=employeeNumber,asc"
},
"last": {
"href": "http://localhost:8080/customers/1/employee-numbers?sortParam=employeeNumber&page=3&size=4&sort=employeeNumber,asc"
}
},
"page": {
"size": 4,
"totalElements": 14,
"totalPages": 4,
"number": 1
}
}