본문 바로가기

Server/Spring

[우당탕탕 개발일지] @RequestParam, 쿼리 값 선택적으로 받아오기

반응형
SMALL

쿼리 값을 받아오려고 @RequestParam 을 썼다. 하지만 값이 들어오지 않으면 무조건 400 에러를 뱉었다. null 처리도 했는데 왜 ??!?

 

찾아보니까, @RequestParam 은 기본적으로 required=true로 되어 있다고 한다. 그 말은? 쿼리 값을 무조건 받아와야 하는 것 ~.~

 

그래서 @RequestParam(value="{칼럼명}", required=false) 로 바꿔주니까 쿼리 값을 선택적으로 받아 올 수 있었다. 야호!

 

@GetMapping("/api/v1/books")
public List<Book> getAllBooks(@RequestParam(value = "status", required = false) String status) {
    if (StringUtils.isEmpty(status)) {
        return bookService.getAllBooks();
    }
    return bookService.getBooksByStatus(Status.valueOf(status));
}

선택적으로 쿼리 값을 받아온 후, null 처리를 통해 조회 기능을 분리 처리해주었다.

반응형
LIST