Ratpack 处理程序 - 如何添加多个前缀
Ratpack handlers -how to add more than one prefixes
我正在尝试为我的应用程序添加某种 hello/name(用于运行状况检查),但我不想执行我的 chainAction 的那一部分。
.handlers(chain -> chain
.prefix("api", TaskChainAction.class))
);
如何在不使用 "api" 前缀的情况下添加第二个问候语?
我试过了
.handlers(chain-> chain
.get("/:name", ctx -> ctx.render("Hello"+ctx.getPathTokens().get("name"))))
.handlers(chain -> chain
.prefix("task", TaskChainAction.class))
);
和
.handlers(chain-> chain
.get("/:name", ctx -> ctx.render("Hello"+ctx.getPathTokens().get("name"))))
.handlers(chain -> chain
.prefix("task", TaskChainAction.class))
运气不好..
我可以添加第二个前缀,例如 /greetings/hello。添加第二个前缀也不起作用。
我正在使用 1.4.6 版本的 ratpack。感谢任何帮助
这是我在 ratpack.groovy 文件中使用的多路径处理程序链:
handlers{
path("path_here"){
byMethod{
get{
//you can pass the context to a handler like so:
context.insert(context.get(you_get_handler)}
post{
//or you can handle inline
}
}
}
path("another_path_here") {
byMethod {
get {}
put {}
}
}
顺序在处理程序链中非常重要。请求从上到下流动,因此您的最不具体的绑定应该在底部。
对于您想要做的事情,您可以这样做:
RatpackServer.start(spec -> spec
.handlers(chain -> chain
.prefix("api", ApiTaskChain.class)
.path(":name", ctx ->
ctx.render("Hello World")
)
)
);
此外,您不应将 /
显式添加到您的路径绑定中。绑定在其当前链中的位置决定了前面的路径,因此 /
是不必要的。
我正在尝试为我的应用程序添加某种 hello/name(用于运行状况检查),但我不想执行我的 chainAction 的那一部分。
.handlers(chain -> chain
.prefix("api", TaskChainAction.class))
);
如何在不使用 "api" 前缀的情况下添加第二个问候语?
我试过了
.handlers(chain-> chain
.get("/:name", ctx -> ctx.render("Hello"+ctx.getPathTokens().get("name"))))
.handlers(chain -> chain
.prefix("task", TaskChainAction.class))
);
和
.handlers(chain-> chain
.get("/:name", ctx -> ctx.render("Hello"+ctx.getPathTokens().get("name"))))
.handlers(chain -> chain
.prefix("task", TaskChainAction.class))
运气不好..
我可以添加第二个前缀,例如 /greetings/hello。添加第二个前缀也不起作用。
我正在使用 1.4.6 版本的 ratpack。感谢任何帮助
这是我在 ratpack.groovy 文件中使用的多路径处理程序链:
handlers{
path("path_here"){
byMethod{
get{
//you can pass the context to a handler like so:
context.insert(context.get(you_get_handler)}
post{
//or you can handle inline
}
}
}
path("another_path_here") {
byMethod {
get {}
put {}
}
}
顺序在处理程序链中非常重要。请求从上到下流动,因此您的最不具体的绑定应该在底部。
对于您想要做的事情,您可以这样做:
RatpackServer.start(spec -> spec
.handlers(chain -> chain
.prefix("api", ApiTaskChain.class)
.path(":name", ctx ->
ctx.render("Hello World")
)
)
);
此外,您不应将 /
显式添加到您的路径绑定中。绑定在其当前链中的位置决定了前面的路径,因此 /
是不必要的。