每个bean

时间:2016-04-09 03:35:55

标签: java spring spring-mvc

假设我有一个标准的spring MVC应用程序,我有控制器接受表单变量。这些是编辑简单POJO bean的基本形式。用户,地址,日常用品,没什么特别的。

我想将请求参数映射到我的bean,所以我的控制器方法中没有一堆@RequestParam注释。我做了一些研究,然后找到了HandlerMethodArgumentResolver。看起来它会成功。

但我是否需要为我要映射的每个 bean创建一个HandlerMethodArgumentResolver类?

我有很多,看起来很多工作。我的参数名称与变量名称匹配,所以我可能JSON前端的表单数据,通过ajax调用发送,然后在控制器中封送它。但是有更清洁的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您在前端使用字段构建JSON,则可以在控制器中使用@RequestBody

@RequestMapping("/something")
public void someMethod(@RequestBody SomeClass data) {
    // work with your data
}

SomeClass将是包含所有字段的常见Java bean:

public class SomeClass {

    private int field1;

    private String field2;

    private double field3;

    // getters & setters
}

为此,您需要配置一个序列化和反序列化JSON的HttpMessageConverter。我认为如果Spring检测到Jackson library在类路径中,则会自动为您执行此操作。