当前位置: 首页 > news >正文

怎么做信息发布型网站大连专业网站建设

怎么做信息发布型网站,大连专业网站建设,如何作网站,京东网站 用什么做的前言:在上一节中我们介绍了SpringCloud Gateway各种Route Predicate的作用 ,而在本节中我们将介绍SpringCloud Gateway的Filter。 1、SpringCloud GatewayFilter的相关知识 生命周期: (1)pre(业务逻辑之前) (2)post…

前言:在上一节中我们介绍了SpringCloud Gateway各种Route Predicate的作用 ,而在本节中我们将介绍SpringCloud Gateway的Filter。

1、SpringCloud GatewayFilter的相关知识

生命周期:

(1)pre(业务逻辑之前)

(2)post(业务逻辑之后)

种类:

(1)GatewayFilter

共31种,详细见官方文档(都有官方模板,我这里不叙述了):

https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/#gatewayfilter-factories

(2)GlobalFilter

共10种,详细见官方文档(都有官方模板,我这里不叙述了):

https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/#global-filters

2、自定义Filter
(1)新建一个名为filter的包

效果图:

(2)新建一个名为MyLogGateWayFilter的类

效果图:

3、编写MyLogGateWayFilter类的内容
package com.ken.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;@Component
@Slf4j
public class MyLogGateWayFilter implements GlobalFilter, Ordered {@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {log.info("com in MyLogGateWayFilter:" + new Date());String username = exchange.getRequest().getQueryParams().getFirst("username");if(username == null) {log.info("用户名为null,非法用户");exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);return exchange.getResponse().setComplete();}//把这次请求通过的exchange继续传下去到下一个过滤器return chain.filter(exchange);}/*** 加载过滤器的顺序,值越小优先级越高* @return*/@Overridepublic int getOrder() {return 0;}
}


 application.yml内容如下,可以作为参考内容

server:port: 9527
spring:application:name: cloud-gatewaycloud:gateway:discovery:locator:enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由routes:#路由的ID,没有同定规则但要求唯一,建议配合服务名- id: payment_routh#断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/get/**下的路径进行路由predicates:- Path=/payment/get/**#匹配后提供服务的路由地址#uri: http://localhost:8001#匹配后提供服务的路由地址,lb://表示基于服务注册的负载均衡,lb是loadbalance的缩写uri: lb://cloud-payment-service#路由的ID,没有同定规则但要求唯一,建议配合服务名- id: payment_routh2#断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/lb/**下的路径进行路由predicates:- Path=/payment/lb/**#匹配后提供服务的路由地址#uri: http://localhost:8001#匹配后提供服务的路由地址,lb://表示基于服务注册的负载均衡,lb是loadbalance的缩写uri: lb://cloud-payment-serviceeureka:instance:hostname: cloud-gateway-serviceclient:#表示是否将自己注册进Eureka Server里,默认为trueregister-with-eureka: true#是否从Eureka Server抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetch-registry: trueservice-url:defaultZone: http://eureka7001.com:7001/eureka/

4、重启cloud-gateway-gateway9527服务

5、测试gateway拦截效果

在浏览器的地址栏里输入http://localhost:9527/payment/lb?username=ken,通过调用接口可以看出我们成功的通过gateway来把请求从对cloud-gateway-gateway9527服务的访问转发到了对provider-payment8001服务的访问

在浏览器的地址栏里分别输入http://localhost:9527/payment/lb、http://localhost:9527/payment/lb?abc=1,通过调用接口可以看出gateway把我们不符合条件的请求给过滤屏蔽掉了

http://www.dtcms.com/a/409258.html

相关文章:

  • php 装修网站电商网站建设与运营专业
  • cvv钓鱼网站怎么做法语网站建站公司
  • 海口市住房和城乡建设局 网站晋城企业网站建设价格
  • 网站ip被屏蔽怎么办建立网站的申请
  • 网站开发与设计实训报告摘要android studio怎么用
  • 怎么做提取微信62的网站湖北 网站 备案 时间
  • 网站改版方案模板齐齐哈尔市建设工程监察网站
  • 如何做交互式网站常州网站建设基本流程
  • 邯郸市教育考试院网站合肥网站seo优化排名公司
  • 推广网站怎么建大楼物流公司网站源码
  • 有学做衣服的网站吗枣庄三合一网站开发公司
  • 盐城市城乡建设局网站百度网站链接提交页面
  • 重庆航运建设发展有限公司网站深圳专业网站建设排名
  • 广州网站优化外包qq刷赞网站推广软件
  • 个人音乐网站程序wordpress电视剧采集解析
  • 网站内如何@租网站服务器价格
  • 做导航网站linuxvps建站教程
  • 运动网站模板线上装修设计
  • 网站中间内容做多大尺寸的向总部建设网站申请书
  • 微网站建设代运营门头沟做网站
  • 网站拍照的幕布怎么在电脑找到wordpress模板代码
  • 网站导航栏如何优化网站建设军成
  • 为什么无法再社保网站上做减员微信定制开发小程序
  • wordpress同步社交网站建设优化兰州
  • 网站大全免费完整版网站域名密码
  • 猪八戒做网站怎么样中介
  • 巩义机械厂网站建设山东住房和建设庭官网站官
  • 临沂做过网站的公司wordpress注册接口
  • 上海做网站的公司名称深圳4a广告公司
  • 为什么收不到自己网站网页搜索能力属于专业技术素养