| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringCloud组件之Gateway微服务网关 -> 正文阅读 |
|
[Java知识库]SpringCloud组件之Gateway微服务网关 |
学习SprinngCloud到了网关这一组件,照例简单记录下网关的作用 网关有以下几个作用:
? 在1.x版本中都是采用Zuul网关。但是在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关代替Zuul,就是SpringCloud Gateway,Gateway就是原zuul1.x版的替代。 Spring Cloud Gateway 里明确的区分了 Router 和 Filter,并且一个很大的特点是内置了非常多的开箱即用功能,并且都可以通过 SpringBoot 配置或者手工编码链式调用来使用。 比如内置了 10 种 Router,使得我们可以直接配置一下就可以随心所欲的根据 Header、或者 Path、或者 Host、或者 Query 来做路由。 比如区分了一般的 Filter 和全局 Filter,内置了 20 种 Filter 和 9 种全局 Filter,也都可以直接用。当然自定义 Filter 也非常方便。 接着开始实战,首先创建一个新的moudule,就叫gateway ?然后引入依赖
接着创建启动类
然后对配置文件进行配置
其中predicates意为断言,配置Path=/user/**表示只有以/user开头的请求路径才会放行,否则拦截。除了可以按路径匹配,还可以设置按时间,比如Before=xx时间表示在xx时间前放行,After=xx时间表示在xx时间后放行,一共有11种选项可进行配置 ?filter过滤器则可以对请求和响应进行修改处理,此处配置为给user-service这个服务的请求头添加一段话。Spring Cloud Gateway 内置的过滤器工厂一览表如下: ?启动服务,访问10010端口,如图 ?除此以外,还有一个GlobalFilter可以作为全局的过滤器,这里同样参考黑马程序员视频写了个小例子,针对权限为admin的用户放行,否则拦截。
重新启动,再次访问 ?显示401,在url后面加上?authorization=admin再次访问 ?另外,如果有多个过滤器,可以配置@Order注解里的数字来进行排序,数字越小,执行顺序越靠前。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:43:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |