我有一条与下面的类似的路由在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()
答案 0 :(得分: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()