일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- subquery
- 메소드명
- MySQL
- appspec
- 커밋메세지수정
- 테스트메소드
- 참조키
- 외부키
- 포트
- 2 > /dev/null
- foreignkey
- querydsl
- 서브쿼리
- application.yml
- ㅔㄴ션
- 테스트
- docker명령어
- 메세지수정
- ubuntu
- appspec.yml
- 네이티브쿼리
- 추후정리
- AuthenticationEntryPoint
- 적용우선순위
- EC2
- Query
- 컨테이너실행
- 검색
- WeNews
- 예약
Archives
- Today
- Total
제뉴어리의 모든것
[Section3] [Spring MVC] API 계층 - DTO [추후정리] 본문
DTO (Data Transfer Object) 란?
계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)입니다.
참조 : https://melonicedlatte.com/2021/07/24/231500.html
유효성 검사 애노테이션
- @NotBlank
null 값이나 공백(””), 스페이스(” “) 같은 값들을 모두 허용하지 않습니다.
EX )
@NotBlank(message = "한글명은 공백이 아니여야 합니다")
private String korName;
허용되지 않는 값이 들어 왔을 경우, message의 값이 출력된다.
+ @NotNull, @NotEmpty
@NotNull : null만 안됨. "", " " 은 허용
@NotEmpty : null 과 "" 둘 다 안됨. " "은 허용 - @Valid
- @Validated
- @Email
유효한 이메일 주소인지를 검증합니다.
EX )
@Email private String email; - @Pattern
정규표현식(Reqular Expression)에 매치되는 유효한 값인지 검증
EX )
@Pattern(regexp = "^[a-zA-Z]+(?:\\s[a-zA-Z]+)*$") //영문 검증, a~z, A~Z 사이에 문자만, 공백은 중간에 한칸까지만
private String engName;
- 정규 표현식 참조 : https://sooftware.io/regex/
- 정규 표현식 테스트 사이트 : https://regexr.com/ - @Nullable
null값이 허용됨.
참조 : https://conservative-vector.tistory.com/entry/JAVA-null-%EC%B2%B4%ED%81%AC%EB%A5%BC-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%ED%95%B4%EB%B3%B4%EC%9E%90
https://www.jetbrains.com/help/idea/nullable-and-notnull-annotations.html#nullable
- @Min, @Max
- @Min : 최소값 지정
- @Max : 최대값 지정
EX ) 100 ~ 50000
@Min(100)
@Max(50000)
private int price;
@Valid와 같이 사용 - @Range
범위 값 지정
EX ) 100 ~ 50000
@Range(min = 100, max = 50000)
private int price;
@Valid와 같이 사용 - @Positive
양수만 가능
@Valid와 같이 사용 - Optional<@Range(min= 100, max= 50000) Integer>
@Valid, @Validated 차이
'코드스테이츠 > 정리 블로깅' 카테고리의 다른 글
[Section3] [Spring MVC] JDBC 기반 데이터 액세스 계층 - 1 (0) | 2022.08.27 |
---|---|
[Section3] [Spring MVC] 예외처리 (0) | 2022.08.24 |
[Section3] [Spring MVC] API 계층 - Controller (0) | 2022.08.20 |
[Section3] [Spring MVC] API 계층 - Spring MVC 아키텍처 (0) | 2022.08.20 |
[Section2] [Spring Core] Spring Framework의 핵심 개념 - AOP - 1 (용어) (0) | 2022.08.18 |