Я получил конечную точку / пользователя API, который возвращает отсортированный и разбитый на страницы результат объекта User.Мой пример, кажется, работает нормально, и я могу отсортировать результат с параметрами, такими как / user? Sort = name, desc.
Моя проблема в том, что эта сортировка по умолчанию работает только для простых атрибутов, таких как String, int, long, ... То, что я сейчас пытаюсь реализовать, это какие-то пользовательские сортировки, например, сортировка по перечислению (mustили несколько комбинированных полей (имя объединено с фамилией).
Возможно ли это сделать в любом случае?
Контроллер
@RestController
@RequestMapping("/user")
public class UserController {
@Autowird
private UserRepository userRepository;
@GetMapping("") public ResponseEntity getAll(Pageable pageable) {
return ResponseEntity.ok(userRepository.findAll(pageable));
}
}
UserRepository
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
}
Сущность
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "name")
private String name;
@Column(name = "surname")
private String surname;
}