我正在尝试将使用VERTX编写的HTTP服务转换为Java中的Akka HTTP(2.0.5(。我有几个URL,例如 -
- "/api/addresses/id/:id/limit/:limit/lim>"
- "/api/addresses/:id/:shortid/:type"
如何使上述路径匹配?
另外,如何从资源目录中提供静态资源(例如HTML,JS,CSS文件(?这个路径匹配器是否可以 - pathprefix("资产/*。html",(( -> getFromResourcedirectory(" andsets"((
我能够使第一部分工作,但无法弄清楚如何提供静态资源。这是为我解决问题的工作代码 -
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));
}
}))