我正在使用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) } }
要添加元标记,您很容易被中缀空格绊倒,因此如果无法编译,请尝试使用换行符。