Scala can';无法将路由与finatra控制器中的命名参数匹配
我正在使用Scala can';无法将路由与finatra控制器中的命名参数匹配,scala,finatra,httprouter,Scala,Finatra,Httprouter,我正在使用com.twitter.finatra.http.Controller在Scala中设置端点,我有这样一个端点: get(s"${endpoint}/:id/lookup/?") {request: Request => println("here") val id = request.params("id") response.ok } 我的理解是,它应该匹配链接http://myservice/123/lookup和请求。参数(“id”)应返回“123”。但它永远不
com.twitter.finatra.http.Controller
在Scala中设置端点,我有这样一个端点:
get(s"${endpoint}/:id/lookup/?") {request: Request =>
println("here")
val id = request.params("id")
response.ok
}
我的理解是,它应该匹配链接http://myservice/123/lookup
和请求。参数(“id”)
应返回“123”。但它永远不会到达println。但是当我尝试http://myservice/:id/lookup
(完全一样)-确实如此。因此,它在地址中期望的是“:id”,而不是一个动态值。显然,request.params(“id”)
不存在。如果我呼叫http://myservice/:id/lookup?id=123
,则请求。参数(“id”)
是来自查询字符串参数的123
我做错了什么或误解了什么?我对Scala非常陌生,所以完全有可能整个事情都是按照预期的方式设置的