Zuul路由网关:

Zuul路由网关_ide

Zuul路由网关_spring_02

创建网关服务:

Zuul路由网关_spring_03

导入依赖:

zuul依赖和Eureka依赖必须

<!--实体类+web-->
    <dependencies>
        <!--zuul依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--Eureka-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--Hystrix依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--监控页面依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--ribbon依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.stt</groupId>
            <artifactId>springcloud-api</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--热部署工具-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

    </dependencies>

application.yml配置文件:

server:
  port: 9527
# 服务名称
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: zuul9527.com # 修改eureka上的默认描述信息
    prefer-ip-address: true  # 隐藏地址
#info配置
info:
  app.name: stt-springcloud
  company.name: mazha.stt.com
  
#网关配置
zuul:
  routes: # 底层是map,可以自定义配置
    mydept.serviceId: springcloud-provider-dept  # 自己原来的id(服务名称)
    mydept.path: /mydept/**  # 修改为当前id访问
  # 声明不能使用的路径访问,ignored-services: "*" 表示隐藏全部访问路径
  ignored-services: springcloud-provider-dept
  prefix: /stt # 设置公共访问前缀

其中网关设置的 routes(路由)设置底层是map:

public void setRoutes(Map<String, ZuulProperties.ZuulRoute> routes) {    
    this.routes = routes;
}

可以自定义配置

启动类:

注解@EnableZuulProxy开启网关代理

package com.stt.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

/**
 * @author leizi
 * @create 2019-12-10 22:49
 */
@SpringBootApplication
@EnableZuulProxy  // 开启网关代理
public class ZuulApplication_9527 {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication_9527.class, args);
    }
}

测试:

Zuul路由网关_ide_04

Zuul路由网关_ide_05