Spring Boot —— Filter 過濾器

目標

實現一個自定義過濾器,在所有請求進來時輸出點兒信息

實現過濾器

實現一個自定義過濾器,在所有請求進行業務處理前,在控制檯輸出請求Id和請求Url

@Configuration
@EnableWebMvc
public class WebConfiguration {
    public static class MyFilter implements Filter {

        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest) servletRequest;
            System.out.println(STR."RequestId: \{request.getRequestId()},請求方式:\{request.getRequestURI()}");
            filterChain.doFilter(servletRequest, servletResponse);
        }
    }
}

註冊過濾器

@Configuration
public class FilterConfig {

    @Bean
    public FilterRegistrationBean<WebConfiguration.MyFilter> myFilterFilterRegistrationBean(){
        FilterRegistrationBean<WebConfiguration.MyFilter> filterRegistrationBean = new FilterRegistrationBean<>();
        filterRegistrationBean.setFilter(new WebConfiguration.MyFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.setName("myFilter");
        return filterRegistrationBean;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章