API网关服务组件Spring Cloud Zuul使用详解4(路由详解4:路由前缀、本地跳转)
作者:hangge | 2020-10-14 08:10
五、路由前缀
(1)为了方便全局地为路由规则增加前缀信息,Zuul 提供了 zuul.prefix 参数来进行设置。比如下面配置将为网关上所有路由规则都增加 /api 前缀:zuul.prefix=/api zuul.routes.hello-service.path=/hello-service/** zuul.routes.hello-service.service-id=hello-service zuul.routes.feign-consumer.path=/feign-consumer/** zuul.routes.feign-consumer.service-id=feign-consumer
(2)重启网关查看 /actuator/routes 接口可以看到所有路由规则上都统一加上了 /api 前缀:
(3)配置完前缀之后,之前访问路径都要增加 /api 前缀:
//未加前缀时访问 hello-service 服务 http://localhost:5555/hello-service/hello //添加前缀后访问 hello-service 服务 http://localhost:5555/api/hello-service/hello
六、本地跳转
(1)在 Zuul 实现的 API 网关路由功能中,还支持 forward 形式的服务端跳转配置。比如我们在 API 网关项目中增加一个 /local/hello 的接口
@RestController public class HelloController { @RequestMapping("/local/hello") public String hello() { return "welcome to hangge.com"; } }
(2)然后在 API 网关上增加一个本地跳转的路由规则(api-b):
zuul.routes.api-b.path=/api-b/** zuul.routes.api-b.url=forward:/local
(3)当 API 网关接收到请求 /api-b/hello,它符合 api-b 的路由规则,所以该请求会被 API 网关转发到网关的 /local/hello 请求上进行本地处理。
全部评论(0)