Я написал это сопоставление запроса для доступа к заявке по ее идентификатору:
@GetMapping(path = "/tickets/{ticketId}")
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity<List<TicketResponse>> getTicketsById(@PathVariable("ticketId") final Long ticketId
Я планирую добавить несколько параметров запроса для поддержки фильтрации, таких как ticketType, ticketStatus. Пользователи REST API должны иметь возможность фильтрации по любому или всем параметрам запроса.
Каковы принципы разработки REST API для достижения этой цели? Должен ли я добавить новые параметры запроса для поддержки фильтрации, как показано ниже? :
@GetMapping(path = "/tickets/{ticketId}")
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity<List<TicketResponse>> getTicketsById(@PathVariable("ticketId") final Long ticketId, @RequestParam("ticketType") final String ticketType, @RequestParam("ticketStatus") final String ticketStatus)
Существует ли шаблон проектирования Spring для этого сценария? Шаблон компоновщика Java может быть использован, где параметр атрибут объекта QueryParameter?