方志鹏 https://www.fangzhipeng.com/spring-cloud.html
先看一个小demo
@Bean public RouteLocator myRoutes(RouteLocatorBuilder builder) { return builder.routes() .route(p -> p .path("/get") .filters(f -> f.addRequestHeader("Hello", "World")) .uri("http://httpbin.org:80")) .build(); }
gateway 使用查看源码 非常容易使用, 主要用了
1:.path("/get") (断言类 )PredicateSpec, 判断是否符合要求,
2: .filters(f -> f.addRequestHeader("Hello", "World")) (网关)GatewayFilterSpec
fn.apply 的作用: 把 函数 addRequestHeader 作用在GatewayFilterSpec上面调用.
3: .uri("http://httpbin.org:80")) 查看源码知道这是要跳转的位置。
总结: 看***Spec 主要有5个步骤,
Filter可以有很多方法,请求头,请求body,host,限流,重试,返回头,头里面的uri. cookie登,转发等都有。。。
同时我们可以自定义自己的过滤器
https://www.fangzhipeng.com/springcloud/2018/12/21/sc-f-gatway3.html