application.yml
spring:
application:
name: sysgateway
cloud:
gateway:
globalcors:
cors-configurations:
'[/**]': # 匹配所有请求
allowedOrigins: "*" #跨域处理 允许所有的域
allowedMethods: # 支持的方法
- GET
- POST
- PUT
- DELETE
routes:
- id: goods
uri: lb://goods # lb:使用LoadBalancerClient 实现负载均衡,后面goods是微服务的名称【主要应用于集群环境】
predicates:
- After=2021-01-01T01:01:01+08:00[Asia/Shanghai] # 表示,请求时间在 2021-01-01T01:01:01+08:00[Asia/Shanghai] 时间之后,才会被路由。
# 除After之外,还有两个关键字:(1)Before,表示在某个时间点之前进行请求转发;(2)Between,表示在两个时间点之间,两个时间点用 , 隔开
- Host=cloud.it.com** #所有以cloud.it.com的请求将请求交给上面的uri服务处理
- Path=/goods/** #请求路径过滤
- Method=GET # 通过请求方式进行匹配
- Query=name # 通过参数进行匹配,表示请求中一定要有name参数才会进行转发。
- Query=name,java.* # Query也可以指定参数和参数的值,例如:参数的key为name,value必须要以java开始
filters:
- AddRequestParameter=name,javaboy # 在请求转发路由的时候,自动额外添加参数。
- PrefixPath=/goods #用户所有请求路径中都加一个goods前缀,例如,请求http://xxx:8080--->真是请求为:http://xxx:8080/goods
- StripPrefix= 1 #会将请求路径中的第一个路径过滤掉,例如:请求http://xxx:8080/api/goods--->真是请求为:http://xxx:8080/goods
server:
port: 9101
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8060/eureka
instance:
prefer-ip-address: true