一 介绍
zuul:
routes:
microservice-provider-user:
path: /user/**
strip-prefix: false
这样访问Zuul的/user/1路径,请求将会被转发到microservice-provider-user的/user/1。
二 实例
1 用户微服务控制器定义
@GetMapping(value={"/user/{id}"})
public User findById(@PathVariable Long id) {
User findOne = this.userRepository.findOne(id);
return findOne;
}
2 Zuul的配置
server:
port: 8040
spring:
application:
name: microservice-gateway-zuul
eureka:
client:
service-url:
defaultZone:http://localhost:8761/eureka/
instance:
prefer-ip-address: true
zuul:
routes:
microservice-provider-user:
path: /user/**
strip-prefix: false
logging:
level:
com.netflix: DEBUG
# 这样访问Zuul的/user/1路径,请求将会被转发到microservice-provider-user的/user/1,可以查看日志打印,有助于理解。
3 测试
1 启动Eureka
2 启动用户微服务
3 启动zuul
4 浏览器输入
http://localhost:8040/user/1
5 说明
这样访问Zuul的/user/1路径,请求将会被转发到microservice-provider-user的/user/1
6 两种前缀的比较
zuul
stripPrefix
用于 zuul.prefix,是全局的。
zuul
routes
<route>
stripPrefix
用于 zuul.routes.<route>.path,是局部的。