我正在使用http4k-contracts,并且尝试使用路径参数位于路径中间的路径对路径进行建模,即
这是路径:/player/{id}/match
这是我的代码(无法编译):"/player/" / Path.string().of("id") / "match" meta { ..
什么是正确的方法?
答案 0 :(得分:1)
如果不编译,则可能意味着该语句末尾的函数没有足够的参数。您需要这样的东西-注意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) } }
对于添加meta标记,您很容易被infix空格绊倒,因此如果未编译,请尝试使用换行符。