Как определить направление в запросе с помощью параметра pageable?

#java #api #kotlin #request #pageable

#java #API #kotlin #запрос #pageable

Вопрос:

У меня есть запрос, который принимает pageable в качестве параметра. Я определяю направление как DESC, но это не имеет никакого эффекта. Это мой запрос. Не могли бы вы, пожалуйста, помочь мне сформулировать запросы таким образом, чтобы результаты возвращались отсортированными в порядке убывания? Я разместил свой запрос на картинке ниже. Это работает, но не сортирует результаты

Спасибо введите описание изображения здесь

Это код контроллера:

 @GetMapping
fun listMessages(@RequestParam conversationRef: String,
                 @RequestParam fromDate: Instant, @RequestParam toDate: Instant, 
                 pageable: Pageable): PaginatedCollection<MessageVO> {
                     return messageService.listAll(fromDate, toDate, pageable, 
                              conversationRef).data ?: PaginatedCollection(listOf(), 
                              PaginationVO.build(), SortVO.build())
}
  

Комментарии:

1. Пожалуйста, покажите нам свой код

2. Вы правы. Обновлено

3. поле сортировки в Pageable — это класс, который содержит как минимум два значения. Направление сортировки и поле, по которому выполняется сортировка. Читать docs.spring.io/spring-data/rest/docs/current/reference/html /…

4. ДА. Я знаю. Формат запроса — это то, что я не разобрал

5. Например, как мне добавить поле для сортировки в контексте запроса postman?

Ответ №1:

Вам нужно отправить поле сортировки, для которого вы хотите выполнить сортировку по убыванию.(Ссылка) Пример:

http://localhost:8080/people?sort=id,desc

Здесь id поле сортировки и desc направление сортировки, разделенные запятой.

Итак, вам нужно отправить id,desc по sort параметру в PostMan для сортировки по id в порядке убывания.