首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否限制NinjaFramework中控制器方法中的参数数量?

是否限制NinjaFramework中控制器方法中的参数数量?
EN

Stack Overflow用户
提问于 2017-04-18 22:35:36
回答 1查看 40关注 0票数 0

我正在使用NinjaFramework 6.0,尝试在我的控制器方法中添加一个第10个@Param值,但现在我在编译Routes.java时遇到"No suitable found for (Controller...Index)“错误。

我的方法看起来像这样:

代码语言:javascript
复制
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");

EN

回答 1

Stack Overflow用户

发布于 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个参数应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43475136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档