본문 바로가기
컴퓨터/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);
    }

댓글