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);
}
'컴퓨터 > Spring' 카테고리의 다른 글
[스프링 시큐리티] AccessToken + RefreshToken을 이용한 로그인 구현(최신코드, TDD) (0) | 2023.12.29 |
---|---|
[Refactoring] 코드를 리팩토링하자!/전략 패턴 적용 (1) | 2023.11.16 |
[Spring Boot] 스프링 부트 파일 업로드 다운로드 예제 코드 (깃허브 포함) (0) | 2023.08.02 |
[Spring Boot] 스프링 부트 비동기 통신/백-프론트 통신 (0) | 2023.08.02 |
[Spring boot] 스프링 부트 컨트롤러 기본 코드 (0) | 2023.08.02 |
댓글