Как вы моделируете параметр пути в середине с http4k
Я использую http4k-контракты и пытаюсь смоделировать маршрут с параметром пути в середине пути, т.е.
Это путь: /player/{id}/match
Это мой код (не компилируется): "/player/" / Path.string().of("id") / "match" meta { ..
Какой правильный способ сделать это?
1 ответ
Если это не компилируется, это, вероятно, означает, что функция в конце этого оператора не имеет достаточно параметров. Вам нужно что-то вроде этого - обратите внимание на параметр "dead" в середине лямбды, где будет вставлена строка "foo":
"/prefix" / Path.of("first") / "foo" / Path.of("second") bindContract GET to { first, _, second ->
{ Response(OK).body("$first $second") }
}
Параметры трейлинга работают точно так же, поэтому при экстраполяции вам понадобится следующее:
val route = "/prefix" / Path.of("first") / "foo" meta { description = "I am great"} bindContract GET to { first, _ -> { Response(OK).body(first) } }
Для добавления мета-тегов вы можете легко получить путаницу с пробелом инфикса, поэтому попробуйте поиграть с переносами строк, если они не компилируются.