我正在尝试使用akka-http服务器创建REST api。
REST端点为: / user / auth / save [从数据接受POST方法]
我已经尝试过以下代码段:
return post(() -> route(path("/user/auth/save", () -> formFieldList(fields -> {
return complete("The form fields are " + fields);
})))).seal();
通常,它不起作用。
然后我尝试实现路由树:
return post(() -> route(path("usr", () -> route(path("auth", () -> formFieldList(fields -> {
return complete("The form fields are " + fields);
})))))).seal();
即使这个似乎不起作用。
正确的方法是什么?
答案 0 :(得分:0)
尽管我从未使用过Java API,但可以通过在路由内使用PathMatchers
来匹配路由,如下所示:
return route(
path(PathMatchers.segment("usr").slash("auth").slash("save"), () ->
post(() ->
complete("it works!")))
);
此匹配正确,并返回了预期的响应。
在这种情况下可以使用指令:
PathMatchers.separateOnSlashes("usr/auth/save")