Spring Cloud Gateway简单示例不起作用

时间:2019-06-26 22:12:47

标签: spring spring-cloud-gateway

大多数基本的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
}

2 个答案:

答案 0 :(得分:1)

您没有任何像 http://httpbin.org/test 这样的网址,因此没有 404

答案 1 :(得分:0)

http://localhost:9000/test

您的第一个请求将发送到http://httpbin.org:80/test。并且由于http://httpbin.org中没有针对/test的请求映射,因此您从http://httpbin.org得到了404 Not Found响应。


http://localhost:9000/test2

您的第二个请求将不会发送到任何地方。无法发送“ / test2”,因为您的路由配置为“ / test”。因此,您从网关应用程序收到404 Not Found响应。如果要将相同的路由规则应用于“ / test2”,则配置必须为“ / test **”