Java | 어노테이션 정리 및 모음

백진영·2023년 2월 28일
0

Java

목록 보기
1/1

어노테이션 종류가 많아서 써왔던 어노테이션들을 정리하고 찾아보기 위한 용도로 만든 페이지

 /**
  * 등록 일자
  */
@ApiModelProperty(value = "등록 일자")
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss", timezone = "Asia/Seoul")
Instant regDate;

@JsonFormat 어노테이션 : 클라이언트 ( 자바스크립트 ) 에서 Date 포맷에 맞춰 변환

/**
 * 클레임 타입 (CLAIM_TYPE) 클레임 유형
 */
@ApiModelProperty(value = "클레임 타입 (CLAIM_TYPE) 클레임 유형")
@Size(max = 1, message = "claimType 의 값은 1이하의 문자 데이터만 허용합니다.")
private String claimType = "";

@Size 어노테이션 : 문자열 데이터의 길이로 검증할때 사용 Regular Expressions 으로 검증하는게 나을지도

/**
 * 접수상태
 */
@ApiModelProperty(value = "접수상태")
public EnumClientCounselStatus getStatus(){
    return EnumClientCounselStatus.of(this.statusValue);
}
public void setStatus(EnumClientCounselStatus value){
    if(value != null)
        statusValue = value.getValue();
}

/**
 * 문자열 값으로 enum 을 반환한다.
 * @param value 문자열 값
 * @return enum 객체
 */
public static EnumClientCounselStatus of(String value) {

	if(StringUtils.hasText(value)) {
		try {
			int intValue = Integer.parseInt(value);
			return of(intValue);
		}
		catch (Exception ignored) {
		}
	}

	return null;
}

/**
 * 숫자 값으로 enum 을 반환한다.
 * @param value 숫자 값
 * @return enum 객체
 */
public static EnumClientCounselStatus of(int value) {
	return Stream.of(EnumClientCounselStatus.values())
			.filter(p -> p.getValue() == value)
			.findFirst()
			.orElseThrow(null);
}
@Pattern(regexp = "^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])|\\s|^$$", message = "입력값 '${validatedValue}' 는 올바른 날짜 형식이 아닙니다.")

DB 에서 받아온 값을 Enum 형 데이터로 변환해주기 위한 모델 Getter

profile
백엔드 및 프론트엔드 개발자 그리고 애주가 그리고 싱어

0개의 댓글