如何使用过滤器在Spring WebFlux中验证标头

时间:2019-08-20 07:47:16

标签: spring-boot spring-webflux

我是Spring Webflux的新手。我想在Webflux中实现类似Filter的东西。我的确切问题是,我希望在某些Webflux RestController端点中有两个标头。如何编写一个将读取这两个标头的过滤器,如果不存在任何两个标头,则将响应发送为“未经授权”。我看过WebFilter。但是我不确定如何处理此筛选器中的情况。我还添加了我编写的代码。

    public class AuthFilter implements WebFilter {

        @Override
        public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
            ServerHttpRequest request = exchange.getRequest();
            HttpHeaders headers = request.getHeaders();

            // How to send unauthorized response if no headers present

            return chain.filter(exchange);
        }

    }

请帮助我。

1 个答案:

答案 0 :(得分:2)

这将是最简单的检查,只是空检查,不知道它们是否将发送空标题,因为您没有指定有关标题的任何详细信息

CaptainID   
Jack        0   --since BoatTourID = Standard, it should not be calculated
Kevin       10
Eric        0   --since Status = Cancelled
Nick        0
John        9
Lionel      19
Jeffrey     5
Chris       2