Как перехватить все запросы в Spring Boot 2.0 Web MVC? - PullRequest
0 голосов
/ 21 января 2019

Ниже приведен код, адаптированный из приложения Spring Webflux:

  import org.springframework.web.server.ServerWebExchange;
        import org.springframework.web.server.WebFilter;
        import org.springframework.web.server.WebFilterChain;

       import org.springframework.web.servlet.config.annotation.EnableWebMvc;
       import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
       import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;



     @Configuration
    @EnableWebMvc

    @Slf4j

@ComponentScan(basePackages = "mypackage")
        public class WebConfig implements WebMvcConfigurer {

        @Autowired
        @Lazy
        private UserRepository userRepository;

        @Autowired
        @Lazy
        private UserService userService;




        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {


            registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/");
            registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/");


        }


        @Bean
        public WebFilter filter() {
            return (exchange, chain) -> {
                ServerHttpRequest req = exchange.getRequest();
                String uri = req.getURI().toString();


                // detect cookie, if no cookie create new one, add pageview to user, save user
                // code removed

                return chain.filter(exchange);

            };
        }

Но он не компилируется, поскольку метод фильтра интерфейса Webfilter возвращает Mono.

Как перехватить все запросы (сквозная задача) в приложении Spring Boot 2.0 Spring Web MVC (не webflux)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...