我有一个接受任意查询参数的休息调用。为了捕捉这些,我使用了@RequestParam Map queryParams。
我希望地图中的每个条目都绑定到不同的类型,例如一些到日期,一些到双打,一些到字符串等等......
我怎样才能做到这一点?
任何代码示例都会有所帮助。
通用汽车
我有一个接受任意查询参数的休息调用。为了捕捉这些,我使用了@RequestParam Map queryParams。
我希望地图中的每个条目都绑定到不同的类型,例如一些到日期,一些到双打,一些到字符串等等......
我怎样才能做到这一点?
任何代码示例都会有所帮助。
通用汽车
最后一定要映射到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
}
你可以这样:
@RequestMapping(value= "/xxx")
public @ResponseBody void reqParamSample(ModelMap model,
HttpServletRequest request,
@RequestParam(value="id") int id,
@RequestParam(value="name") String name){
// do sth
}
请求参数将根据参数名称转换为类型。