Spring Boot에서 @NotNull, @NotEmpty, @NotBlank의 차이점은? Spring Boot에서 @NotNull, @NotEmpty, @NotBlank의 차이점 Spring Boot를 비롯한 Java Bean Validation에서는 데이터 유효성 검사를 위해 여러 어노테이션을 제공합니다. 그중에서 @NotNull, @NotEmpty, @NotBlank는 매우 자주 사용되는 어노테이션입니다. 이들 각각의 어노테이션은 어떤 차이점이 있는지 살펴보겠습니다. @NotNull 정의 @NotNull은 해당 필드가 null이 아니어야 함을 보장하는 어노테이션입니다. 객체가 존재해야 한다는 의미로, 빈 문자열이나 공백은 허용됩니다. 사용 예시) public class User { @NotNull private String username; // getters and setters } 특징 null 체크: 필드가 null인 경우 검증 오류 발생. 빈 값 허용: 빈 문자열("")이나 공백은 유효한 값으로 간주됨. @NotEmpty 정의 @NotEmpty는 해당 필드가 null이 아니며, 빈 문자열이 아닌 경우에만 유효성을 검사합니다. 즉, 문자열 필드가 비어 있지 않아야 합니다. 사용 예시) public class User { @NotEmpty private String username; // getters and setters...
Spring Filter 와 Interceptor 는 어떤 차이가 있을까? 웹 애플리케이션 개발에서 요청과 응답을 처리하는 과정은 매우 중요합니다. 이때 요청과 응답을 가로채어 다양한 처리를 할 수 있는 두 가지 중요한 개념이 바로 필터(Filter)와 인터셉터(Interceptor)입니다. 이번 블로그 포스트에서는 이 두 개념의 정의와 주요 차이점에 대해 알아보겠습니다. 필터(Filter) 정의 필터는 요청(request)이나 응답(response)을 처리하기 위해 사용되는 컴포넌트입니다. 주로 웹 애플리케이션의 초기 단계에서 작동하며, 사용자가 요청한 URL에 도달하기 전에 요청을 가로채어 추가적인 처리를 할 수 있습니다. 주요 기능 인증 및 권한 검사: 사용자가 특정 리소스에 접근할 수 있는지 확인합니다. 로깅: 요청 및 응답 정보를 기록하여 추적할 수 있습니다. 인코딩 및 디코딩: 문자 인코딩을 변경하거나 데이터를 변환하는 역할을 합니다. 요청 및 응답 변형: 요청이나 응답의 내용을 수정하여 클라이언트와 서버 간의 데이터 흐름을 제어합니다. 작동 방식 필터는 주로 서블릿 기반 웹 애플리케이션에서 javax.servlet.Filter 인터페이스를 구현하여 사용됩니다. 필터 체인을 통해 여러 필터가 순차적으로 적용될 수 있으며, 각 필터는 다음 필터로 요청을 전달하거나, 필요에 따라 처리를 중단할 수 있습니다. 필터 (Filter...