【发布时间】:2017-12-01 18:20:04
【问题描述】:
我正在 Vertx 中通过 REST 上传文件。我正在现有项目中实现这一点,因此已经有很多路由定义。我在为上传路线定义正文处理程序时遇到问题。在现有的路由定义中,body handler 的第一个定义如下:
router.route().handler(BodyHandler.create().setBodyLimit(1024*1024));
这应该为所有传入请求设置此主体处理程序。现在稍后在代码中我想为上传定义特殊的主体处理程序:
router.post("/upload/path").handler(BodyHandler.create("/upload/dir").setBodyLimit(maxUploadSize));
但这不起作用。 BodyHandler 没有被“覆盖”。它仅在我首先定义上传定义时才有效,在“通用”正文处理程序之前。所以这对我有用:
router.post("/upload/path").handler(BodyHandler.create("/upload/dir").setBodyLimit(maxUploadSize));
router.route().handler(BodyHandler.create().setBodyLimit(1024*1024));
但我想知道是否有一种方法可以先定义通用处理程序,然后一些路由可以定义另一个处理程序。谢谢
【问题讨论】: