요청 매핑에서 쿼리 파라미터를 선택적으로 받을 수 있게 해주는 어노테이션.
즉 클라이언트가 해당 파라미너터를 전달하지 않더라도 기본 값 없이 처리
API 유연성 + 필요한경우 특정 로직에서 추가 처리 가능
필요하다면 파라미터가 없을 때 기본값을 지정 사용 가능.
@GetMapping("/book/search")
public List<BookDto> categorySearch(
@RequestParam(required = false, defaultValue = "unknown") String bookName,
@RequestParam(required = false) String categoryName) {
return bookService.findBooksByCategory(bookName, categoryName);
}
bookname을 전달하지 않으면 unknown이라 적용