Search

ResponseCookie 클래스란

Tags
ResponseCookie
Date
2023/10/09

개요

공식 문서는 ResponseCookie를 다음과 같이 소개하고 있습니다.
An HttpCookie subclass with the additional attributes allowed in the "Set-Cookie" response header. To build an instance use the from(java.lang.String) static method.
ResponseCookieSpring 5에 소개된 클래스로서, 쿠키를 생성하고 설정하는데 빌더 패턴을 사용합니다. 이를 통해 조금 더 직관적인 프로그래밍이 가능합니다.
이번 포스팅에서는 간단한 예제 코드를 통해 ResponseCookie의 사용법을 알아보겠습니다.

1. 기존과 차이점

기존의 쿠키는 Cookie 객체를 만들고 Setter를 통해 쿠키의 값들을 설정해주었습니다.
@RequestMapping("/set-cookie") public ResponseEntity<String> setCookie(HttpServletResponse response) { // AccessToken in somewhere Cookie cookie = new Cookie("SESSION", accessToken); cookie.setMaxAge(24 * 60 * 60); cookie.setHttpOnly(true); cookie.setSecure(true); cookie.setPath("/"); response.addCookie(cookie); return ResponseEntity.ok("Cookie has been set!"); }
Java
복사
ResponseCookie는 빌더 패턴을 사용하여 조금 더 직관적인 프로그래밍이 가능합니다.
@RequestMapping("/set-cookie") public ResponseEntity<String> setCookie() { // AccessToken in somewhere ResponseCookie cookie = ResponseCookie.from("userSession", accessToken) .maxAge(Duration.ofDay(30)) // 30 days .httpOnly(true) .secure(true) .sameSite("Strict") // 여러 설정을 추가할 수 있다. .path("/") .build(); return ResponseEntity.ok() .header(HttpHeaders.SET_COOKIE, cookie.toString()) .body("Cookie has been set using ResponseCookie!"); }
Java
복사