IT评测·应用市场-qidao123.com

标题: 统一网关Gateway的使用: [打印本页]

作者: 尚未崩坏    时间: 2022-9-17 08:38
标题: 统一网关Gateway的使用:
为什么需要网关?

Gateway网关是我们服务的守门神,所有微服务的统一入口
网关的核心功能特性:
在SpringCloud中网关的实现包括两种:

搭建网关服务
搭建网关服务:
总结:
网关搭建步骤:
路由配置包括:
路由断言工厂:


路由过滤器 GatewayFilter:

还有一个配置  filters  :路由过滤器:对请求或响应做处理

会先经过过滤器          Spring提供了31种不同的过滤器工厂
默认过滤器   default-filters   会对所有的路由请求都生效

全局过滤器 GlobaFilter:


exchange   请求上下文 从请求进入开始一直到结束为止 可以拿到请求相关的信息,响应相关的信息 甚至 存东西和取东西也是可以的
chain        过滤器链 放行用的  交给下一个过滤器
自定义一个全局过滤器:
如果同时满足则放行,否则拦截
  1. @Component
  2. @Order(1)
  3. public class AuthorizeFilter implements GlobalFilter {
  4.     @Override
  5.     public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
  6. //        1.获取请求参数
  7.         ServerHttpRequest request = exchange.getRequest();
  8.         MultiValueMap<String, String> params = request.getQueryParams();
  9. //        2.获取参数中的authorization参数
  10.         String auth = params.getFirst("token");
  11. //        3.判断参数值是否等于admin
  12.         if ("admin".equals(auth)) {
  13.             // 4.是 放行
  14.             return chain.filter(exchange);
  15.         }
  16. //        5.否 拦截
  17. //        设置状态码
  18.         exchange.getResponse().setStatusCode(
  19.                 HttpStatus.UNAUTHORIZED);
  20.         return exchange.getResponse().setComplete();
  21.     }
  22. }
复制代码
过滤器执行顺序:


跨域问题处理:

域的组成:协议,ip,端口
网管跨域处理的方法 CORS方案  并且只需要简单的配置就能实现


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4