---65---
日志限流权限等操作
看下引入了什么?
zuul的网站:https://github.com/Netflix/zuul/wiki
GetAway的使用:https://blog.csdn.net/rain_web/article/details/102469745
官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/
---66---
---67---
---68--
9527工程的搭建。
第一步:引入我们的getWay的pom文件。
第二步:在yml配置我们的网关。
记住三点,路由 断言 过滤
第三步:
需求:
启动这三个项目:
小坑:
我们访问下:http://localhost:8001/payment/get/31
加入网关再访问下:http://localhost:9527/payment/get/31
---69---
配置路由的两种方式:
如何用硬编码的方式配置?
映射:
访问:http://localhost:9527/guonei
国际新闻:
---70---
视频这里的路由都是针对的服务端的目前看来。
动态路由:
第二个直接替换了Ribbon了。
测试:
第一步,一定要加入开启的功能:
第二步:
访问:http://localhost:9527/payment/lb
---71---
断言:
我们可以看下有这么多的配置,以Path为突破点看下其他的。
第一种:添加时间就是在这个时间点后面才能访问的
如何写配置文件:
第二种:cookie
第三种:请求头的
---
第四种:
第五种:
第六种:
---72---
看文档:
filter:
定义:
package com.atguigu.springcloud.filter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
import java.util.Date;
/**
* @auther zzyy
* @create 2020-02-21 16:40
*/
@Component
@Slf4j
public class MyLogGateWayFilter implements GlobalFilter,Ordered
{
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
{
log.info("***********come in MyLogGateWayFilter: "+new Date());
String uname = exchange.getRequest().getQueryParams().getFirst("uname");
if(uname == null)
{
log.info("*******用户名为null,非法用户,o(╥﹏╥)o");
exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);
return exchange.getResponse().setComplete();
}
return chain.filter(exchange);
}
@Override
public int getOrder()
{
return 0;
}
}
访问:http://localhost:9527/payment/lb?uname=123
---73---