【问题标题】:The requested route [/echo/cat] has not been mapped in Spark请求的路由 [/echo/cat] 尚未在 Spark 中映射
【发布时间】:2017-08-08 01:13:33
【问题描述】:

我是使用 Java 学习 Spark 的新手。我尝试处理获取请求。

当我处理代码时,localhost:4567 不是问题。我在 Spark 中映射时遇到问题。

这是下面的代码。

Spark.get(new Route("/echo/:thing") {
            @Override
            public Object handle(final Request request, final Response response) {
                return request.params(":thing");
            }
        });

代码抛出

404 未找到

请求的路线 [/echo/cat] 尚未在 Spark 中映射。

我该如何解决它。谢谢。

【问题讨论】:

  • Spark.get 应该接收至少路径和路由作为参数。您的 get 以某种方式仅收到一条路线。你确定这段代码正在编译吗?您使用的是什么 Spark 版本?

标签: spark-java


【解决方案1】:

正如 SHG 所说,由于Spark 2.0.0 (May 2014)get 方法至少需要两个参数:路径和回调。 因此,您的代码不再有效,我们鼓励您升级到 Spark 2,因为 Spark 1 不再更新。

使用 Spark 2,您的代码变为:

Spark.get("/echo/:thing", new Route() {
    @Override
    public Object handle(final Request request, final Response response) {
        return request.params(":thing");
    }
});

使用 Java 8 lambda 表示法甚至更简单:

Spark.get("/echo/:thing", (req, res) -> {
    return req.params(":thing");
});

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    相关资源
    最近更新 更多