Filter
- 웹 어플리케이션에서 관리되는 영역
- 스프링부트 Framework에서 클라이언트의 요청/응답에 대해 최초/최종 단계의 위치에 존재하므로 요청/응답의 정보를 변경하거나 스프링에 의해 데이터가 변환되기 전의 순수한 클라이언트의 요청/응답 값을 확인할 수 있다.
- 유일하게 ServletRequest, ServletResponse의 객체를 변환할 수 있다.
- 주로 스프링 프레임워크의 요청/응답 로깅이나 인증과 관련된 로직들을 해당 필터에서 처리한다. => 서비스 비즈니스 로직과 분리시킨다.
Filter 사용하기
Filter를 상속 받은 GlobalFilter.java
import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter(urlPatterns = "/api/user/*")
public class GlobalFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
... // 원하는 기능 구현
}
}
메인 클래스에 @ServletComponentScan 추가
@SpringBootApplication
@ServletComponentScan // 추가
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
'공부 기록 > Spring' 카테고리의 다른 글
[Spring] 스프링 리소스, SpEL(Spring Expression Language) (0) | 2023.06.15 |
---|---|
[Spring] @Data 어노테이션 (0) | 2023.05.31 |
[Spring] Exception Handling (0) | 2023.05.04 |
[Spring] Validation(2) - Custom Validation (0) | 2023.05.01 |
[Spring] Validation(1) - Annotation (0) | 2023.05.01 |