当前位置:   article > 正文

28.Gateway-网关过滤器

28.Gateway-网关过滤器

GatewayFilter是网关中提供的一种过滤器,可以多进入网关的请求和微服务返回的响应做处理。

 GatewayFilter(当前路由过滤器,DefaultFilter)

 spring中提供了31种不同的路由过滤器工厂。

filters针对部分路由的过滤器。

default-filters针对所有路由的默认过滤器。

  1. server:
  2. port: 10010 # 网关端口
  3. spring:
  4. application:
  5. name: gateway # 服务名称
  6. cloud:
  7. nacos:
  8. server-addr: localhost:8848 # nacos 地址
  9. gateway:
  10. routes:
  11. - id: user-service # 路由id,自定义,只要唯一即可
  12. uri: lb://user-service # 路由的目标地址lb是负载均衡,后面跟服务名称
  13. predicates: # 路由断言,判断请求是否符合路由的规则的条件
  14. - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求
  15. - id: order-service
  16. uri: lb://order-service
  17. predicates:
  18. - Path=/order/**
  19. filters: # 过滤器,只对order-service的路由请求生效
  20. - AddRequestHeader=truth,xkj will be success. # 添加请求头
  21. default-filters: # 默认过滤器,会对所有的路由请求都生效
  22. - AddRequestHeader=common,everyone can be success.

@RequestHeader获取请求头中的数据 

  1. @GetMapping("{orderId}")
  2. public Order queryOrderByUserId(@PathVariable("orderId") Long orderId, @RequestHeader("truth") String truth) {
  3. log.info("truth={}",truth);
  4. return orderService.queryOrderById(orderId);
  5. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/527342
推荐阅读
相关标签
  

闽ICP备14008679号