Spring启动查询参数映射绑定到不同的类型

时间:2015-10-15 10:51:47

标签: spring spring-mvc spring-boot spring-restcontroller

我有一个接受任意查询参数的休息调用。为了捕获这些,我正在使用@RequestParam Map queryParams。

我希望地图中的每个条目都绑定到不同的类型,例如有些是迄今为止,有些是双打,有些是弦乐等等......

我该怎么做?

任何代码示例都会有所帮助。

GM

2 个答案:

答案 0 :(得分:1)

最后是否必须映射到Map?您可以创建一个辅助对象,并将所有的requestemParams映射到它:

CustomObjectDTO
public class CustomObjectDTO{
    private String prop1;
    private Date   prop2;
    private int    prop3;

    //Getters and setters
    // propably also the default constructor is needed
}

你的示例控制器:

public @ResponseBody void doSomething(CustomObjectDTO customObjectDTO){
    // do something with the object
}

答案 1 :(得分:0)

你可以这样:

@RequestMapping(value= "/xxx")
public @ResponseBody void reqParamSample(ModelMap model, 
HttpServletRequest request,
@RequestParam(value="id") int id,
@RequestParam(value="name") String name){

    // do sth
}

请求参数将根据参数名称转换为类型。