Как отобразить несколько HTTP-глаголов на один и тот же путь в HTTP4K
У меня есть маршрут, аналогичный приведенному ниже, работает нормально в HTTP4K. Однако раздражает необходимость повторять вызовы для привязки "/". Я искал более простой способ выразить 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 ответ
Решение
Существует удобная функция с тем же именем, которая принимает переменную 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()