• 实现 API 网关
    • 一个最简单的 Zuul 应用
    • 如何测试
    • 源码

    实现 API 网关

    一个最简单的 Zuul 应用

    主应用:

    1. @SpringBootApplication
    2. @EnableDiscoveryClient
    3. @EnableZuulProxy
    4. public class Application {
    5. public static void main(String[] args) {
    6. SpringApplication.run(Application.class, args);
    7. }
    8. }

    其中:@EnableZuulProxy启用了 Zuul 作为反向代理服务器。

    项目配置:

    1. spring.application.name: micro-weather-zuul
    2. eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
    3. zuul.routes.users.path: /hi/**
    4. zuul.routes.users.serviceId: micro-weather-eureka-client

    其中:

    • zuul.routes.users.path : 为要拦截请求的路径;
    • zuul.routes.users.serviceId:为要拦截请求的路径所要映射的服务。本例,我们将所有/hi下的请求,都转发到 micro-weather-eureka-client 服务中去。

    如何测试

    启动在之前章节中搭建的 micro-weather-eureka-servermicro-weather-eureka-client 两个项目,以及本例的 micro-weather-zuul

    如果一切正常,在之前章节中搭建的 micro-weather-eureka-server 管理界面,能看到上述服务的信息。

    api-gateway-eurekn

    在浏览器访问 micro-weather-zuul服务(本例,地址为),当我们试图访问接口时,只需要访问如果一切正常,可以在控制台看到“Hello world”字样,这个就是转发请求到micro-weather-eureka-client 服务时响应的内容。

    源码

    本章节源码,见micro-weather-zuul