大多数基本的Spring Cloud Gateway应用程序无法正常工作。
application.yml
server:
port: 9000
GatewayApplication.java
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
@Bean
public RouteLocator routeLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("test", r -> r.path("/test")
.uri("http://httpbin.org:80"))
.build();
}
}
邮递员:http://localhost:9000/test
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL
manually please check your spelling and try again.</p>
邮递员:http://localhost:9000/test2
{
"timestamp": "2019-06-26T22:24:34.208+0000",
"path": "/test2",
"status": 404,
"error": "Not Found",
"message": null
}
答案 0 :(得分:1)
您没有任何像 http://httpbin.org/test 这样的网址,因此没有 404
答案 1 :(得分:0)
您的第一个请求将发送到http://httpbin.org:80/test
。并且由于http://httpbin.org中没有针对/test
的请求映射,因此您从http://httpbin.org得到了404 Not Found响应。
您的第二个请求将不会发送到任何地方。无法发送“ / test2”,因为您的路由配置为“ / test”。因此,您从网关应用程序收到404 Not Found响应。如果要将相同的路由规则应用于“ / test2”,则配置必须为“ / test **”