Направление сортировки в URL-адресе Spring Pageable - PullRequest
0 голосов
/ 07 мая 2020

У меня есть контроллер со следующим методом. Я могу добавить свойство «сортировка» к своей форме, и оно будет автоматически использовать это свойство для сортировки. Теперь я пытаюсь добавить к нему направление сортировки, но не могу найти правильный параметр запроса для добавления в мою форму.

public String overview(Criteria criteria, @PageableDefault(sort = "name") Pageable page, Model model)

Это моя форма:

<form action="">
<div>
    <label for="sort">Sort by</label>

    <select name="sort" id="sort">
        <option value="name" selected>Name</option>
        <option value="description">Description</option>
    </select>
</div>
<div>
    <label for="ascending">
        <input name="order" id="ascending" type="radio" value="ASC" />
        <div>Ascending</div>
    </label>
    <label for="descending">
        <input name="order" id="descending" type="radio" value="DESC" />
        <div>Descending</div>
    </label>
</div>
<div>
    <button type="submit">Search</button>
</div>
</form>

URL-адрес выглядит следующим образом:

/overview?sort=name&order=DESC

Я пробовал использовать другие имена параметров, кроме порядка, но ничего не работает.

1 Ответ

0 голосов
/ 19 мая 2020

Расширьте свой метод контроллера следующим образом:

public String overview(Criteria criteria, @PageableDefault(sort = "name", final @RequestParam(value = "order", defaultValue = "ASC") String order, Pageable page, Model model) {
    // process the order argument here
}

Теперь вы можете обрабатывать аргумент «порядок».

...