关于swagger-ui,basePath 路径重复的问题

183 阅读1分钟

各位大哥 直接上图

image.png

从网关出发,导致路径成为

image.png

正确路径,应该是

image.png

不废话 处理办法:

    @Override
    public GatewayFilter apply(Object config) {
        return (exchange, chain) -> {
            ServerHttpRequest request = exchange.getRequest();
            String path = request.getURI().getPath();
            if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
                return chain.filter(exchange);
            }
//            String basePath = path.substring(0, path.lastIndexOf(SwaggerProvider.API_URI));
            ServerHttpRequest newRequest = request.mutate().header(HEADER_NAME, "").build();
            ServerWebExchange newExchange = exchange.mutate().request(newRequest).build();
            return chain.filter(newExchange);
        };
    }

注释掉basePath,不在赋予头部, 这个血与泪的教训告诉我们, 不要轻易复制csdn 的代码; 如果复制了 请你一定要读一下 !!!!!!!!!