# Как можно получить Interceptor в Spring Webflux для проверки заголовков? - PullRequest
1 голос
/ 15 апреля 2019

добавили Interceptor и проверяющие заголовки в методе prehandle() интерфейса HandlerInterceptor, а затем с помощью интерфейса WebMvcConfigurer добавили этот перехват, и в случае успеха мы передали управление базовому классу URL-контроллера. В противном случае он вернет false и не перейдет в класс Controller.

То же самое, что мы можем достичь в Spring WebFlux? в WebFlux есть похожий интерфейс типа WebFluxConfigurer, но здесь нет такого метода добавления перехватчика?

Также с помощью RouterFunction в WebFlux мы можем маршрутизировать, но как мы можем проверять и проверять заголовки в общем разделе, как HandlerInterceptor в Spring Mvc? **

Ниже приведен фрагмент кода Spring MVC:

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {   

@Autowired
CommonInterceptor CommonInterceptor;

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(CommonInterceptor).addPathPatterns("/api/v1/**");
}


 @Component
public class CommonInterceptor implements HandlerInterceptor {

private static final Logger LOGGER = LoggerFactory.getLogger(CommonInterceptor.class);

@Autowired
private CommonRequest CommonRequest;

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws CommonException {
    String tenantContext = request.getHeader(CommonFrameworkConstants.TENANT_CONTEXT);
    String authToken = request.getHeader(CommonFrameworkConstants.AUTHORIZATION);
    LOGGER.trace("Handling Request for Tenant Context {}", tenantContext);
    CommonHeader CommonHeader = new CommonHeader(authToken, tenantContext);
    CommonRequest.setCommonHeader(commonHeader);
    CommonRequest.setUserName("api");
    return true;
}
 }
...