Как отобразить несколько HTTP-глаголов на один и тот же путь в HTTP4K - PullRequest
1 голос
/ 13 июня 2019

У меня есть маршрут, аналогичный приведенному ниже, работает нормально в HTTP4K. Однако раздражает необходимость повторения вызовов на "/" bind . Я искал более простой способ выразить DSL, но больше ничего не работает. Есть ли способ добиться этого?

routes(
    "/things" bind routes(
        "/" bind Method.GET to allThings,
        "/{id:.*}" bind routes (
            "/" bind Method.GET to singleThing,
            "/" bind Method.DELETE to deleteThing,
            "/" bind Method.PUT to addOrUpdateThing
        )
    )
).asServer(Netty(8080))
    .start()

1 Ответ

1 голос
/ 13 июня 2019

Существует удобная функция с тем же именем, которая принимает переменную Pair<Method, HttpHandler>, вы должны иметь возможность отбрасывать ведущий "/" bind следующим образом:

routes(
    "/things" bind routes(
        "/" bind Method.GET to allThings,
        "/{id:.*}" bind routes(
            Method.GET to singleThing,
            Method.DELETE to deleteThing,
            Method.PUT to addOrUpdateThing
        )
    )
).asServer(Netty(8080))
    .start()
...