2017-06-01 25 views
0

我是新來的用Java學習Spark的人。我嘗試處理Get請求。請求的路由[/ echo/cat]尚未映射到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未發現

請求的路線[/回波/貓]尚未在火花映射。

我該如何解決它。謝謝。

+0

'Spark.get'應該接受作爲參數*至少*路徑和路線。你的'get'只是收到一條路線。你確定這段代碼正在編譯嗎?您使用的是什麼Spark版本? – SHG

回答

1

正如SHG所述,由於Spark 2.0.0 (May 2014)get方法至少需要2個參數:路徑和回調。 因此,您的代碼不再有效,因此我們鼓勵您升級到Spark 2,因爲Spark 1不再更新。

火花2,你的代碼就變成了:

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

甚至與Java 8拉姆達符號簡單:

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