У меня проблема с одним случаем, когда я хочу сделать нумерацию своих результатов поиска, и одна служба создает страницу:
хранилище:
Page<Myth> findAllBy(Pageable pageable);
, затемкласс обслуживания:
public Page<Myth> findAllBy(Pageable pageable) {
return mythRepository.findAllBy(pageable);
}
затем контроллер:
@GetMapping("/allPageable")
@ResponseStatus(OK)
public Page<Myth> findAllMythsPageable(@RequestParam Integer size, @RequestParam Integer pageNumber){
Pageable pageable = new PageRequest(pageNumber, size);
return mythService.findAllBy(pageable);
}
Второй сервис имеет такую точку входа в класс обслуживания:
public List<Myth> findAllPageable(Integer size, Integer pageNumber) {
ResponseEntity<Myth[]> response = restTemplate.getForEntity(ROOT_URI
+ "/allPageable?size="
+ size
+ "&pageNumber="
+ pageNumber,Myth[].class);
return Arrays.asList(response.getBody());
}
К сожалению, я не могу передать страницу в список, и я получаю сообщение об ошибке:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of(...)
Не могли бы вы помочь мне, как я могу преобразовать объект страницы в список, чтобы его можно было прочитать на веб-странице Thymeleaf (где у меня есть цикл foreach)?Или, может быть, вы можете посоветовать мне, как передать объект Page в это:
ResponseEntity<Myth[]> response = restTemplate.getForEntity
К сожалению, когда я делаю:
public Page<Myth> findAllPageable(Integer size, Integer pageNumber) {
ResponseEntity<Page[]> response = restTemplate.getForEntity(ROOT_URI
+ "/allPageable?size="
+ size
+ "&pageNumber="
+ pageNumber,Page[].class);
return response.getBody()[0];
}
Я получаю ту же ошибку ...
Могу ли яиспользовать объект Page в Thymeleaf?
Заранее спасибо за помощь!
Piotr