Как вы моделируете параметр пути в середине с 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) } } Для добавления мета-тегов вы можете легко получить путаницу с пробелом инфикса, поэтому попробуйте поиграть с переносами строк, если они не компилируются.

Другие вопросы по тегам