Spring 입력값 검증하기

TaeYoon Kim·2023년 12월 26일
0

기초 (치트 시트)

목록 보기
13/23

이메일이나 전화번호처럼 입력 양식이 정해져 있는 경우,
다양한 삽입 공격 대비 등등
입력값을 검증할 이유는 많다. 근데 벡엔드는 스프링이 대신 해줌.

입력값 검증은 프론트, 백엔드, DB에서 각각 해야한다.

DB의 데이터 무결성
개체 무결성
참조 무결성
도메인 무결성

그럼 ORM 기술에서 Entity에 무결성 조건을 걸 수 있나?
지금까지 사용해본 어노테이션 중에 @Id가 기본키 설정이었다.
그럼 다른 어노테이션을 통해 추가할 수 있지 않을까?
@Colume로 가능하다.

@Colume 사용법
1.@Colume(length = 50)
String은 자동으로 VARCHAR(255)로 저장된다. 이 때 크기를 수정한다.

2.@Colume(nullable = true)
이 속성에 NotNull 설정 추가

입력값 검증 라이브러리 : spring-boot-starter-validation

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

dto 클라스의 변수들에 추가
0.@Pattern(regexp = 정규표현 식) : 왠만한 어노테이션보다 이걸 많이 쓴다. 정규표현 식은 chat-gpt에게 맞기자.
1.@NotNull :
2.@Email :
3.@Min() :
4.@Size :

controller 매개변수 받는 곳에 추가
@Valid : 이 입력값을(매계변수를) 검증하라

0개의 댓글