Spring Cloud Zuul не может работать с простым примером кода - PullRequest
0 голосов
/ 08 ноября 2018

Я новичок в Spring Cloud. По примеру Руководство по началу работы . Я застрял на примере Zuul.

С запросом к zuul мое клиентское приложение не получает никакого запроса от zuul и получает 405 (метод не разрешен) в моем браузере.
Но тест без zuul, клиентское приложение может ответить успешно.

Простой код как это:
Zuul Server:

@EnableZuulProxy
@SpringBootApplication
public class MyZuulApp {

    public static void main(String[] args) {
        SpringApplication.run(MyZuulApp.class, args);
    }

    @Bean
    public SimpleFilter simpleFilter() {
        return new SimpleFilter();
    }

}

Конфигурация:

##Zuul routes. Here for /student path, we are routing to localhost:8090 with extra path after that.
zuul.routes.book_app.url=http://localhost:8090
#zuul.routes.book_app=/book_app/**

##Ribbon is auto integrated with Zuul and for this exercise we are not using that.
ribbon.eureka.enabled=false

##Will start the gateway server @8080
server.port=8083

logging.level.org.springframework.web=DEBUG

Клиентское приложение:

@RestController
@SpringBootApplication
public class BookApp {

    @RequestMapping(value = "/available")
    public String available() {
        System.out.println("get abailable - ");

        return "Spring in Action";
    }

    @RequestMapping(value = "/checked-out")
    public String checkedOut() {
        return "Spring Boot in Action";
    }

    public static void main(String[] args) {
        SpringApplication.run(BookApp.class, args);
    }
}

Конфигурация:

spring.application.name=book_app

server.port=8090

logging.level.org.springframework.web=DEBUG

Полный код организован в Github .
Смотрите my-zuul и book-app для этой ситуации.
Спасибо

1 Ответ

0 голосов
/ 09 ноября 2018

Я скачал ваш код и запустился локально, и он работал как положено.

Ваше приложение Zuul. Свойства

  zuul.routes.book_app.url=http://localhost:8090
  server.port=8083

Поскольку ваше приложение для книги называется book_app.Zuul будет прокси-запрос на / book_app . Так что вы должны отправлять запросы следующим образом: http://localhost:8083/book_app/checked-out/.

...