赞
踩
一、 在一个微服务节点的predicates下配置多个path: - Path=/test/batis/test,/test/testJmeter,具体配置如下:
spring: application: name: xxxx profiles: active: dev cloud: inetutils: preferred-networks: ^192\.168\.[\d]\.[\d]+$ gateway: enabled: true httpclient: connect-timeout: 1000 response-timeout: 5s default-filters: - StripPrefix=0 - name: Hystrix args: name: fallbackcmd fallbackUri: forward:/fallback discovery: locator: # 是否和服务注册与发现组件结合,设置为 true 后可以直接使用应用名称调用服务 enabled: true # 路由(routes:路由,它由唯一标识(ID)、目标服务地址(uri)、一组断言(predicates)和一组过滤器组成(filters)。filters 不是必需参数。) routes: - id: management-admin uri: lb://management-admin predicates: - Path=/admin/**,/openbase/**
二、 在请求头中新增header参数,yml文件配置如下:
spring: application: name: openapi-gate-way profiles: active: dev cloud: inetutils: preferred-networks: ^192\.168\.[\d]\.[\d]+$ gateway: enabled: true httpclient: connect-timeout: 3000 response-timeout: 5s default-filters: - StripPrefix=0 - name: Hystrix args: name: fallbackcmd fallbackUri: forward:/fallback routes: - id: openapi-base uri: lb://openapi-base predicates: - Path=/openbase/** filters: # 新增请求头参数 - AddRequestHeader=name, 小明
三、自定义filter中新增请求头参数:
- @Component
- public class DemoFilter implements GatewayFilter, Ordered {
-
-
-
- @Override
- public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
-
- ServerHttpRequest request = exchange.getRequest().mutate()
- .header("name", "xxx")
- .header("age", 12)
- .build();
-
- return chain.filter(exchange.mutate().request(request).build());
- }
-
- @Override
- public int getOrder() {
- return 1;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。