не может сопоставить маршрут с именованными параметрами в контроллере finatra - PullRequest
0 голосов
/ 23 апреля 2020

Я использую 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, поэтому вполне возможно, что все настроено не так, как должно.

...