Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Akka Http路径匹配器_Java_Akka Http - Fatal编程技术网

Java Akka Http路径匹配器

Java Akka Http路径匹配器,java,akka-http,Java,Akka Http,我正在尝试将使用Vertx编写的Http服务转换为Java中的Akka Http(2.0.5)。我有几个网址,比如- “/api/addresses/id/:id/limit/:limit” “/api/addresses/:id/:shortid/:type” 如何使上述路径匹配 另外,如何从资源目录中提供静态资源(如html、js、css文件)?这个路径匹配器好吗- pathPrefix(“assets/*.html”),()->getFromResourceDirectory(“ass

我正在尝试将使用Vertx编写的Http服务转换为Java中的Akka Http(2.0.5)。我有几个网址,比如-

  • “/api/addresses/id/:id/limit/:limit”
  • “/api/addresses/:id/:shortid/:type”
如何使上述路径匹配

另外,如何从资源目录中提供静态资源(如html、js、css文件)?这个路径匹配器好吗-
pathPrefix(“assets/*.html”),()->getFromResourceDirectory(“assets”)

我能够让第一部分正常工作,但无法理解如何为静态资源提供服务。这是为我做这件事的工作代码-

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));
                }
            }))
pathPrefix(“api”),()->path(段(“地址”).slash(“id”).slash(段()).slash(“限制”).slash(段()),(字符串id,字符串限制)->{
返回GetEtherListResponse(
()->具有(id,限制)的dosomething;
})),
路径前缀(“api”),()->路径(段(“地址”)。斜杠(段()),(列表)->{
if(list.size()==2){
String id=list.get(0);
String shortId=list.get(1);
返回GetEtherListResponse(
()->doSomethingWith(id,shortId));
}否则{
String id=list.get(0);
String shortId=list.get(1);
字符串类型=list.get(2);
返回GetEtherListResponse(
()->doSomethingWith(id,shortId,type));
}
}))