【发布时间】:2016-01-13 19:03:23
【问题描述】:
我有一个接受任意查询参数的休息调用。为了捕捉这些我正在使用@RequestParam Map queryParams。
我希望地图中的每个条目都绑定到不同的类型,例如有些是迄今为止的,有些是双打的,有些是字符串的,等等......
我该怎么做?
任何代码示例都会有所帮助。
总经理
【问题讨论】:
标签: spring spring-mvc spring-boot spring-restcontroller
我有一个接受任意查询参数的休息调用。为了捕捉这些我正在使用@RequestParam Map queryParams。
我希望地图中的每个条目都绑定到不同的类型,例如有些是迄今为止的,有些是双打的,有些是字符串的,等等......
我该怎么做?
任何代码示例都会有所帮助。
总经理
【问题讨论】:
标签: spring spring-mvc spring-boot spring-restcontroller
你可以这样:
@RequestMapping(value= "/xxx")
public @ResponseBody void reqParamSample(ModelMap model,
HttpServletRequest request,
@RequestParam(value="id") int id,
@RequestParam(value="name") String name){
// do sth
}
请求参数将根据参数名称转换为类型。
【讨论】:
最后一定要映射到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
}
【讨论】: