JwtAuthenticationFilter 에서 로그인 처리 하는구나
@Configuration : IoC Container에게 해당 클래스가 Bean 구성 class 라는걸 알려주는 것
@Bean vs @Component
@Bean : 개발자가 직접 제어가 불가능한 외부 라이브러리를 Bean으로 수동 등록.
@Component : 개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 어노테이션.
@NoArgsConstructor : 파라미터가 없는 기본 생성자 생성
@RequiredArgsConstructor : final 이나 @NonNull인 필드 값만 파라미터로 받는 생성자 생성
@Entity, @Table : 객체 - 테이블 맵핑
@Column : 필드 - 컬럼의 팹핑
@Id : 기본키의 맵핑
@ManyToOne, @JoinColumn : 조인 맵핑
제약조건
@NotNull 어노테이션은 필드의 값이 null이 아님을 확인하도록 하며 @Min은 해당 값의 최솟값을 지정할 수 있도록 한다.
@Getter
@RequiredArgsConstructor
public class AddUserRequest {
@Email
private final String email;
@NotBlank
private final String pw;
@NotNull
private final UserRole userRole;
@Min(12)
private final int age;
}
그리고 다음과 같이 컨트롤러의 메소드에 @Valid를 붙여주면 유효성 검증이 진행된다.
@PostMapping("/user/add")
public ResponseEntity<Void> addUser(@RequestBody @Valid AddUserRequest addUserRequest) {
...
}
최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)
로 구성되어야 한다.최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9)
로 구성되어야 한다.-> [a-z0-9]
-> [a-zA-Z0-9]