我是靠谱客的博主 重要篮球,最近开发中收集的这篇文章主要介绍spring cloud gateway,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

spring cloud gateway提供了一个构建在 Spring 生态系统之上的 API 网关,包括:Spring 5、Spring Boot 2 和 Project Reactor。Spring Cloud Gateway 旨在提供一种简单而有效的方法来路由到 API,并为它们提供横切关注点,例如:安全性、监控/指标和弹性。

1.如何包含Spring Cloud Gateway 

<!-- spring cloud alibaba nacos discovery 依赖 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

<!--Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- Maven整个生命周期内排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

2. 词汇表

  • 路由:网关的基本构建块。它由 ID、目标 URI、谓词集合和过滤器集合定义。如果聚合谓词为真,则路由匹配。

  • 谓词:这是一个Java 8 函数谓词。输入类型是Spring FrameworkServerWebExchange。这使您可以匹配 HTTP 请求中的任何内容,例如标头或参数。

  • FilterGatewayFilter :这些是使用特定工厂构建的实例。在这里,您可以在发送下游请求之前或之后修改请求和响应。

4.配置路由谓词工厂和网关过滤器工厂

有两种配置谓词和过滤器的方法:快捷方式和完全扩展的参数。下面的大多数示例都使用快捷方式。

名称和参数名称将列code在每个部分的第一句或第二句中。这些参数通常按照快捷方式配置所需的顺序列出。

4.1. 快捷方式配置

快捷方式配置由过滤器名称识别,后跟等号 ( =),然后是用逗号 ( ) 分隔的参数值,

应用.yml
<span style="color:#000000"><span style="background-color:#ffffff"><span style="color:#222222"><code class="language-yaml">spring:
  cloud:
    gateway:
      routes:
      - id: after_route
        uri: https://example.org
        predicates:
        - Cookie=mycookie,mycookievalue</code></span></span></span>

前面的示例Cookie使用两个参数、cookie 名称mycookie和要匹配的值定义了 Route Predicate Factory mycookievalue

4.2. 完全扩展的参数

完全扩展的参数看起来更像是带有名称/值对的标准 yaml 配置。通常,会有一把name钥匙和一把args钥匙。args键是键值对的映射,用于配置谓词或过滤器。

应用.yml
<span style="color:#000000"><span style="background-color:#ffffff"><span style="color:#222222"><code class="language-yaml">spring:
  cloud:
    gateway:
      routes:
      - id: after_route
        uri: https://example.org
        predicates:
        - name: Cookie
          args:
            name: mycookie
            regexp: mycookievalue</code></span></span></span>

Cookie这是上面显示的谓词快捷方式配置的完整配置。

 

最后

以上就是重要篮球为你收集整理的spring cloud gateway的全部内容,希望文章能够帮你解决spring cloud gateway所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部