你如何用http4k在中间建模路径参数
How do you model a path parameter in the middle with http4k
我正在使用 http4k-contracts,我正在尝试使用路径中间的路径参数对路由进行建模,即
这是路径:/player/{id}/match
这是我的代码(不编译):"/player/" / Path.string().of("id") / "match" meta { ..
正确的做法是什么?
如果无法编译,可能意味着该语句末尾的函数没有足够的参数。你需要这样的东西 - 注意 lambda 中间的“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) } }
对于添加元标记,您很容易被中缀空格绊倒,所以如果它不能编译,请尝试使用换行符。
我正在使用 http4k-contracts,我正在尝试使用路径中间的路径参数对路由进行建模,即
这是路径:/player/{id}/match
这是我的代码(不编译):"/player/" / Path.string().of("id") / "match" meta { ..
正确的做法是什么?
如果无法编译,可能意味着该语句末尾的函数没有足够的参数。你需要这样的东西 - 注意 lambda 中间的“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) } }
对于添加元标记,您很容易被中缀空格绊倒,所以如果它不能编译,请尝试使用换行符。