본문 바로가기
컴퓨터/Spring

[Spring] 스프링 Optional 클래스를 이용한 null 쿼리스트링 처리

by 개발자 너울 2023. 8. 21.

RequestParam은 기본적으로 해당 주소에 쿼리 파라미터가 없을 경우 해당 메서드를 실행시키지 않는다. 그러나 RequestParam의 requered를 false로 주면 쿼리 스트링이 없을 경우에 해당 값에 null을 넣게 된다. 이럴 때 Optional을 이용하여 처리 가능하다.

 

아래와 같이 처리할 경우 /chatBoot 이라는 경로로만 들어온다면, message에 null이 들어가게 되고, orElseGet의 결과에 따라 newMessage에는 "안녕"이 들어가 null 쿼리 스트링 처리가 가능해진다.


@GetMapping("/chatBoot")
    public String chatBoot(@RequestParam(required = false) String message) {
        Optional<String> userMessage = Optional.ofNullable(message);

        String newMessage;
        newMessage = userMessage.orElseGet(()->"안녕");
        System.out.println(newMessage);

        return NaverCloud.chatBoot(newMessage);
    }

댓글