Я пытаюсь записать конечную точку, которая позволяет использовать опциональные сортировщики во внутреннем интерфейсе.
Например, у меня есть сортировщик, который позволяет мне сортировать элементы в списке - а это то, что возвращает контроллер моей конечной точки - по дате их создания. Если соответствующий параметр контроллера верен, то сортировка элементов начинается с самого нового и переходит к самому старому. Если соответствующий параметр равен false, то наоборот.
Это проект Пружинный загрузчик.
Мне интересно, есть ли более подходящий для пружин способ достичь этого?
Это мой контроллер:
@RestController
public class StudentsController{
@Autowired
private GradeBook yearlyGrades;
@GetMapping(/successful)
public List<Student> getSuccessfulStudents(
@RequestParam(name = startDate) Instant startDate,
@RequestParam(name = endDate) Instant endDate,
@RequestParam(defaultValue = false, required = false) boolean sortStartingFromHighestGrade,
@RequestParam(defaultValue = false, required = false) boolean sortStartingFromEarliestDate) {
return this.yearlyGrades.getSuccessfulStudents(startDate, endDate,
sortStartingFromHighestGrade,
sortStartingFromEarliestDate);
}
}
В зависимости от значения true/false двух последних параметров sortStartingFromHighestGrade
иsortStartingFromEarliestDate
, в фоновом режиме, в классе обслуживания происходит различная обработка.