目前,我正在尝试重构API而不会破坏更改。试图将其从host:port/foo/bar
之类的东西迁移到host:port/bar
,并想知道在Scalatra中是否支持多个路线。我正在尝试:
get("/foo/bar", "/bar") {
Ok(200)
}
在任一端点上以空的响应代码为0,它的返回,我有点困惑。这是在Scalatra中支持的吗?
我知道在春季,它看起来像:https://stackoverflow.com/a/5517486/4682816,但是我很好奇是否有scalatra
scalatra为动作提供多个变压器,但这意味着如果所有变压器都匹配了调用的操作。这用于在路由中添加其他条件。
在您的情况下,请求路径不能匹配"/foo/bar"
和"/bar"
,所以我想该动作从未被调用。
您可以按照以下方式进行操作:
get("/foo/bar"){
bar()
}
get("/bar"){
bar()
}
private def bar() = {
Ok(200)
}
或您可以使用正则表达式:
get("^(/bar)|(/foo/bar)$".r){
Ok(200)
}