我正在使用NinjaFramework 6.0,尝试在我的控制器方法中添加一个第10个@Param值,但现在我在编译Routes.java时遇到"No suitable found for (Controller...Index)“错误。
我的方法看起来像这样:
public Result personIndex(
@Param("ssn") Optional<String> ssn,
@Param("dodId") Optional<String> dodId,
@Param("firstName") Optional<String> firstName,
@Param("middleName") Optional<String> middleName,
@Param("lastName") Optional<String> lastName,
@Param("birthday") Optional<String> birthday,
@Param("branch") Optional<String> branch,
@Param("rateRank") Optional<String> rateRank,
@Param("status") Optional<String> status,
@Param("page") Optional<Integer> page) { ... }如果我删除其中一个参数,那么一切都将编译并正常工作。这是一个硬限制吗?我应该把它们封装到某种form / dto对象中吗?
--
在使用此类型的路由配置时,这似乎是一个问题:
router.GET().route("/persons").with(PersonController::personIndex);
如果我切换到“旧”的方式,它工作得很好:
router.GET().route("/persons").with(PersonController.class,"personIndex");
发布于 2017-11-15 05:27:36
在浏览忍者文档(http://www.ninjaframework.org/documentation/basic_concepts/routing.html)时,我注意到下面的文字
类ninja.ControllerMethods定义了各种接口,这些接口是Java8lambda表达式可接受的方法签名。控制器方法返回一个ninja.Result,它有0到12个参数。如果您需要12个以上的参数,您可以使用忍者的遗留路由策略Class +“method”。
不确定从6.0版本开始是否有什么变化,但10个参数应该可以工作。
https://stackoverflow.com/questions/43475136
复制相似问题