黑马学SpringCloud-Gateway
Posted dengfengling999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黑马学SpringCloud-Gateway相关的知识,希望对你有一定的参考价值。
目录:
(1)网关的作用介绍
(2)网关快速入门
(3)路由断言工厂
(4)路由的过滤器
(5)全局过滤器
(6)过滤器链执行顺序
(8)网关的cors跨越配置
(1)网关的作用介绍
并不是所有人可以访问我们的业务,需要去进行拦截,网关来做这件事,一切请求先到网关,再到微服务
(2)网关快速入门
新建一个Model:
在pom中引入依赖:
创建启动类启动网关:GetwayApplication:
网关的功能有很多,我们先来做一个请求的路由:
编写配置文件:application.yml
启动服务:
访问:
(3)路由断言工厂
例如:
在来配置文件中添加配置:After指定时间点之后才能发起请求
访问order请求不符合规则报404
改为Before:指定访问在某个时间点之前才能访问:
再次访问可以访问:
(4)路由的过滤器配置
在配置文件中添加过滤的请求头:AddRequestHeader
修改user-service的请求方法:添加一个参数并打印
重启服务:
成功的打印了信息:
配置默认的过滤器对所有请求都生效
配置全局过滤器注释局部过滤器:
重启网关 ,访问服务:
访问:发现两个端口的的都生效了
(5)全局过滤器
写一个过滤器类:
加上注解有两种方式可以通过@Order(-1)还可以实现Orderd:指明过滤器的执行顺序
-1
重启网关:访问访问失败
加上参数:成功访问
参数写错:又不能访问了
(6)过滤器链执行顺序
过滤器的执行顺序是根据order的值来执行
(8)网关的cors跨越配置
我们的跨域请求不需要在每个每个微服务里都去配置,在网关处理就可以了
准备前端,发送请求:
端口不一致出现问题:
在网关添加配置:
重启网关:在次刷新查询到接口
黑马学ElasticSearch
目录:
(1)RestClient-操作索引库-导入demo
(2)RestClient操作索引-hotel数据结构分析
(3)RestClient操作索引库-初始化RestClient
(4)RestClient操作索引库-创建索引库
(5)RestClient操作索引库-删除和判断索引库
(1)RestClient-操作索引库-导入demo
前面我们学习了通过DSL语句操作ES索引库,文档数据,要想通过java代码操作,必须使用ES官方提供的RestClient实现了
最早的是Low Level Rest Client 后来是Hight Level REST Client,做了进一步封装
数据库:
导入项目:
配置文件:
启动类:
这里用了MyBatis-plus:
service: 实现类:
实体类:
(2)RestClient操作索引-hotel数据结构分析
单个字段搜索效率高还是多个字段搜索效率高,显然是一个字段效率高,但是我的需求是用户输入名称、品牌、商圈能搜到,多个字段还要性能好怎么办?
它并不是把文档拷贝进去,而只是基于它创建倒排索引,将来查的时候看不到这个字段,好像不存在一样,但是搜能根据它搜
(3)RestClient操作索引库-初始化RestClient
SppringBoot项目中默认的ES版本是7.12.2需要自己覆盖它的版本:
创建测试类:
@BeforeEach:单元测试里面的注解,提前完成对象的初始化
@AfterEach:销毁注解
以后写的所有的单元测试,都会先运行BeforeEach 最后运行@AfterEach
写一个方法测试一下:
(4)RestClient操作索引库-创建索引库
mapping映射:
创建一个静态常量,保存DSL语句:
在这个测试方法中,静态导入:
运行这个测试类:
在浏览器查询一下:
(5)RestClient操作索引库-删除和判断索引库
client.indices()返回值是IndicesClient对象里面封装了操作索引库的API
在测试类HotelIndexTest.java中添加删除测试的方法:
判断索引库是否存在的方法:当上面删除索引库后,判断
以上是关于黑马学SpringCloud-Gateway的主要内容,如果未能解决你的问题,请参考以下文章
搭建SpringCloud微服务框架:SpringCloud-Gateway 服务网关处理
搭建SpringCloud微服务框架:SpringCloud-Gateway 服务网关处理
深入浅出SpringCloud原理及实战「SpringCloud-Gateway系列」微服务API网关服务的Gateway全流程开发实践指南(入门篇)