Я использую объект предиката QueryDSL с конечной точкой Spring REST для получения и запроса значений параметров.
@GetMapping("/{subjectId}/students")
@RolesAllowed( {Roles.PLATFORM_ADMIN, Roles.USER})
public List<StudentResponse> getAllStudents(@PathVariable final String subjectId,
@QuerydslPredicate(root = Student.class) final Predicate predicate) {
final Predicate searchPredicate = studentPredicate()
.predicate(predicate)
.subjectId(subjectId)
.build();
return studentService.findBySubjectId(subjectId, searchPredicate);
}
Студенческий класс содержит атрибуты studentId и studentName;
Теперь, если кто-то вызовет https://hostname/ {subjectId} / student? StudentId = 1234 & studentName = test
Затем приведенный выше код генерирует объект предиката со значениями параметров. Но мне нужно получить более двух значений параметров из объекта предиката для дальнейшей обработки, помимо запроса db. Я не вижу никакого вспомогательного метода от объекта предиката для извлечения значений. Так как я могу это сделать?