Ninja 框架无法将表单解析为 Java 对象

Posted

技术标签:

【中文标题】Ninja 框架无法将表单解析为 Java 对象【英文标题】:Ninja framework unable to parse form into Java object 【发布时间】:2016-12-21 11:33:41 【问题描述】:

我刚刚开始熟悉 Ninja 框架。我正在尝试将表单解析为 Java 对象。但是,尽管这似乎遵循文档,但它似乎不起作用。

路线: router.GET().route("/create_user").with(UserController.class, "createUser");

控制器: 公共结果创建用户(上下文上下文,用户测试用户测试) System.out.println(userTest); 返回 Results.text().renderRaw("success");

用户测试: 公共类用户测试 私有字符串名称; 私人年龄;

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public int getAge() 
        return age;
    

    public void setAge(int age) 
        this.age = age;
    

    @Override
    public String toString() 
        return "UserTest [name=" + name + ", age=" + age + "]";
    


输入: http://localhost:8080/create_user?name=test&age=5 输出: 尽管“成功”正确返回给浏览器,但 UserTest 对象为空。

有什么想法吗?

哦,我刚刚注意到这条消息: @qtp-1661406123-0] 调试 ninja.utils.AbstractContext - 无法解析正文,因为请求未在以下位置发送内容类型标头:/create_user

【问题讨论】:

【参考方案1】:

经过一番测试,我发现 GET 路由不会触发对象解析。给定由 router.POST()... 而不是 router.GET()... 指定的路由,代码应该可以正常工作...

【讨论】:

以上是关于Ninja 框架无法将表单解析为 Java 对象的主要内容,如果未能解决你的问题,请参考以下文章

将 spring data jpa 与 ninja java 一起使用

Java框架之SpringMVC 04-视图解析-Spring表单-JSON-上传下载

表单序列化javascript(无框架)

JSON解析框架汇总

工作流Activiti框架中表单的使用!详细解析内置表单和外置表单的渲染

使用 Java Ninja 框架在集成测试中模拟一个类