I am calling an external REST API and getting response as JSON array. I can implement pagination and sorting when saving and retrieving the same data from a database using JPA as shown below.
I am using H2 database and created below methods. Is it possible to do the same without using any database? Can we paginate and sort list of objects (created from JSON response) in a similar way?
public class APIResponse<T> {
int recordCount;
T response;
}
ResponseEntity<List<Person>> response=restTemplate.exchange(URL, HttpMethod.GET,null, new ParameterizedTypeReference<List<Person>>(){});
List<Person> persons=response.getBody();
personService.saveAllPersons(persons);
@GetMapping("/{field}")
private APIResponse<List<Person>> getPersonsWithSort(@PathVariable String field){
List<Person> personsSorted = personService.findPersonsWithSorting(field);
return new APIResponse<>(personsSorted.size(),personsSorted);
}
@GetMapping("/pagination/{offset}/{pageSize}")
private APIResponse<Page<Person>> getPersonsWithSort(@PathVariable int offset, @PathVariable int pageSize){
Page<Person> personsPaginated = personService.findPersonsWithPagination(offset, pageSize);
return new APIResponse<>(personsPaginated.getSize(),personsPaginated);
}
@GetMapping("/pagination/{offset}/{pageSize}/{field}")
private APIResponse<Page<Person>> getPersonsWithSort(@PathVariable int offset, @PathVariable int pageSize,@PathVariable String field){
Page<Person> personsPaginated = personService.findPersonsWithPaginationSorting(offset, pageSize,field);
return new APIResponse<>(personsPaginated.getSize(),personsPaginated);