我是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。
谢谢
答案 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/。