회원가입시 이메일로 본인인증을 하는 요구사항을 개발중에 redis
에 인증번호를 저장해놓고 사용하기로 개발하였다.
redis
의 key
값은 클라이언트측에서 받은 이메일로 key
를 저장한다.
처음에는 아래처럼 그냥 + email 값으로 key
를 저장하였었다.
String key = RedisKeyConstants.VERIFICATION_CODE_KEY_PREFIX + email;
이제 MessageFormat.format
을 사용해보자.
정의해놓은 상수를 {0}
과 같은 플레이스 홀더를 사용하여 변경해준다.
package project.stylemate.constants;
public class RedisKeyConstants {
public static final String VERIFICATION_CODE_KEY_PREFIX = "verification-code:{0}";
}
상수를 사용하는 서비스코드로 가서 MessageFormat.format
을 사용해준다.
여기서 {0}
은 MessageFormat.format
메서드에서 사용될 때, 첫 번째 인자로 전달된 값을 대체하는 플레이스홀더이다.
이를테면, MessageFormat.format(VERIFICATION_CODE_KEY_PREFIX, email)
를 호출하면 {0}
이 email 값으로 대체되어
"verification-code:example@example.com"
문자열이 반환된다.
String key = MessageFormat.format(RedisKeyConstants.VERIFICATION_CODE_KEY_PREFIX, email);
redis
의 데이터를 확인해보면 잘 적용된걸 확인 할 수 있다.