Java Akka Http路径匹配器
我正在尝试将使用Vertx编写的Http服务转换为Java中的Akka Http(2.0.5)。我有几个网址,比如-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
- “/api/addresses/id/:id/limit/:limit”
- “/api/addresses/:id/:shortid/:type”
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));
}
}))