Я использую 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
и request.params("id")
должен вернуть «123». Но это никогда не доходит до печати. Однако, когда я пытаюсь http://myservice/:id/lookup
(именно так) - это делает. Таким образом, он ожидает именно «: id» в адресе, а не значение c. И, очевидно, request.params("id")
там нет. Если я позвоню http://myservice/:id/lookup?id=123
, тогда request.params("id")
будет 123
, исходя из параметра строки запроса
Что я делаю неправильно или неправильно? Я очень плохо знаком с Scala, поэтому вполне возможно, что все настроено не так, как должно.