Spring Cloud Zuul无法使用简单的示例代码

时间:2018-11-08 15:19:32

标签: spring-cloud netflix-zuul

我是Spring Cloud的新手。以Start Guide为例。我陷入了Zuul的榜样。

在请求zuul时,我的客户端应用未收到zuul的任何请求,并向我的浏览器获取405(不允许使用方法)。
但是在没有zuul的情况下进行测试,客户端应用程序可以响应成功。

简单的代码如下:
Zuul服务器:

@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 :(得分:0)

我下载了您的代码并在本地运行,并且按预期运行。

您的Zuul application.properties

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

由于您的图书应用名称为book_app。Zuul将把请求代理到 / book_app 。因此,您必须发送以下请求:http://localhost:8083/book_app/checked-out/