2017-04-18 48 views
0

我想將使用Vertx編寫的Http服務轉換爲Java中的Akka Http(2.0.5)。我有一對夫婦一樣網址 -Java Akka Http路徑匹配器

  • 「/ API /地址/ ID /:ID /極限/:限制」
  • 「/ API /地址/:ID /:短ID /:輸入」

如何獲得上述路徑匹配?

另外,如何從資源目錄提供靜態資源(如html,js,css文件)?這是路徑匹配器 - pathPrefix(「assets/*。html」,() - > getFromResourceDirectory(「assets」))

回答

0

我能夠得到第一部分的工作,但無法弄清楚如何服務靜態資源。這裏的工作代碼,爲我做了詭計 -

pathPrefix("api",() -> path(segment("addresses").slash("id").slash(segment()).slash("limit").slash(segment()), (String id, String limit) -> { 
       return getEitherListResponse(
         () -> doSomethingWith(id, limit)); 
      })), 

pathPrefix("api",() -> path(segment("addresses").slash(segments()), (List<String> list) -> { 
       if (list.size() == 2) { 
        String id = list.get(0); 
        String shortId = list.get(1); 

        return getEitherListResponse(
          () -> doSomethingWith(id, shortId)); 
       } else { 
        String id = list.get(0); 
        String shortId = list.get(1); 
        String type = list.get(2); 

        return getEitherListResponse(
          () -> doSomethingWith(id, shortId, type)); 
       } 
      })) 
+0

介意幫我我有類似的問題? – uniXVanXcel