title: Netflix Zuul server - /routes endpoint not available
body: <p>In this coding exercise for learning microservices, I've created a Netflix Zuul project for service routing my microservices.</p>
  
  <p>Sadly, the /routes endpoint does not seem to be mounted. Everything else seems to be working fine: Defining prefixes and setting up specific routes for my services.</p>
  
  <p>There are no errors on the zuul server log files. 
  When I try to hit the /routes url on postman, I get an 404 error:
  <a href="https://i.stack.imgur.com/LeMBY.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/LeMBY.jpg" alt="Zuul Routes not returning anything"></a></p>
  
  <p>My Zuul application class:</p>
  
  <pre><code>import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
  
  @SpringBootApplication
  @EnableZuulProxy
  public class ZuulServerApplication {
      public static void main(String[] args) {
          SpringApplication.run(ZuulServerApplication.class, args);
      }
  }
  </code></pre>
  
  <p>pom.xml file:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
  
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt; &lt;!--should be set to 4.0.0 --&gt;
      &lt;groupId&gt;com.booking.system.hotel&lt;/groupId&gt;
      &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
      &lt;artifactId&gt;hotel-gateway-service-server&lt;/artifactId&gt;
  
      &lt;name&gt;Hotel Gateway service - zuul&lt;/name&gt;
      &lt;description&gt;Hotel Gateway service - it uses Netflix Zuul Proxy Server&lt;/description&gt;
  
      &lt;parent&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
          &lt;version&gt;2.0.5.RELEASE&lt;/version&gt;
      &lt;/parent&gt;
      &lt;dependencyManagement&gt;
          &lt;dependencies&gt;
              &lt;dependency&gt;
                  &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
                  &lt;artifactId&gt;spring-cloud-dependencies&lt;/artifactId&gt;
                  &lt;version&gt;Finchley.RELEASE&lt;/version&gt;
                  &lt;type&gt;pom&lt;/type&gt;
                  &lt;scope&gt;import&lt;/scope&gt;
              &lt;/dependency&gt;
          &lt;/dependencies&gt;
      &lt;/dependencyManagement&gt;
      &lt;properties&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
          &lt;java.version&gt;1.8&lt;/java.version&gt;
          &lt;start-class&gt;com.booking.system.hotel.zuulsvr.ZuulServerApplication&lt;/start-class&gt;
      &lt;/properties&gt;
      &lt;dependencies&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
              &lt;artifactId&gt;spring-cloud-starter-netflix-zuul&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
              &lt;artifactId&gt;spring-cloud-starter-netflix-eureka-client&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
              &lt;artifactId&gt;spring-cloud-starter-config&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
              &lt;artifactId&gt;spring-cloud-config-client&lt;/artifactId&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  
      &lt;build&gt;
      &lt;finalName&gt;hotel-gateway-service-server&lt;/finalName&gt; &lt;!--name of the jar --&gt;
          &lt;plugins&gt;
              &lt;!-- packages the project as an executable jar, as an Spring Boot application --&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                  &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
              &lt;/plugin&gt;
              &lt;!-- used for running tests at various stages --&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>bootstrap.yml file:</p>
  
  <pre><code>spring:
    application:
      name: hotel-gateway-service-server
    profiles:
      active:
        default
    cloud:
      config:
        enabled: true
  </code></pre>
  
  <p>Zuul configuration file from configuration server:</p>
  
  <pre><code>zuul.ignored-services: "*"
  zuul.prefix:  /api
  zuul.routes.hotel-reservations-service: /reservations/**
  zuul.routes.hotel-rooms-service: /rooms/**
  </code></pre>
  
  <p>docker-compose.yml entry for initializing the zuul gateway server:</p>
  
  <pre><code>   hotel-gateway-service-server: #zuul server
        image: imageprefix/hotel-gateway-service-server
        ports:
           - 5555:5555
        environment:
           PROFILE: "dev"
           SERVER_PORT: "5555" 
           CONFIGSERVER_URI: "http://hotel-configuration-server:8888"
           CONFIGSERVER_PORT: "8888"
           EUREKASERVER_URI: "http://hotel-service-discovery-server:8761/eureka/"
           EUREKASERVER_PORT: "8761"
  </code></pre>
  
  <p>I don't seem to spot what I am missing. </p>