1

我正在使用http4k-contracts,我正在尝试在路径中间使用路径参数对路径进行建模,即

这是路径:/player/{id}/match

这是我的代码(不编译):"/player/" / Path.string().of("id") / "match" meta { ..

正确的方法是什么?

4

1 回答 1

3

如果这不能编译,则可能意味着该语句末尾的函数没有足够的参数。你需要这样的东西——注意 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) } }

要添加元标记,您很容易被中缀空格绊倒,因此如果无法编译,请尝试使用换行符。

于 2018-11-13T17:11:10.053 回答