arrays - 使用@RequestParam在spring mvc中请求数组类型参数时如何始终采用第一个参数
问题描述
我写了这段代码。
@GetMapping("/test")
public Response search(@RequestParam String value) {
System.out.println(value);
return new Response(value)
}
一些身体要求,如
/test?value=a&value=b&value=c
值绑定a,b,c
我想总是绑定第一个参数。采取a
,忽略b
,c
。
有没有办法使用@RequestParam
?还是必须使用HttpServletRequest
和解析参数?
解决方案
在这种情况下,您可以使用@RequestParam List<String> value
而不是@RequestParam String value
,并获取第一个值value.get(0)
忽略其余的值
例如
http://rentacar.com/api/v1/search?make=audi&model=A8&type=6&type=11&type=12&color=RED&color=GREY
方法
public List<Vehicle> search(
@RequestParam(value="make", required=false) String make,
@RequestParam(value="model", required=false) String model,
@RequestParam(value="type", required=false) List<String> types,
@RequestParam(value="color", required=false) List<String> colors)
{
....
}
推荐阅读
- oop - 现代 Fortran getter/setter
- nhibernate - 如何在 NHibernate 5 中捕获查询执行?
- teradata - 在运行时在 mload 中动态传递输入文件
- c - 比较c linux fgets中的2个文件
- ios - 仅从第二次开始获取用户位置
- android - AsyncTask 导致重载问题(双项、错误数据等),但在 UI 上运行太慢
- excel - 如何使用 GetPivotdata 从由 Olap Cube 构建的数据透视表中提取数据?
- javascript - 如何在我的 Webpack 项目中使用 Polyglot.js?
- bash - 如何制作具有不同选择的菜单?
- linux - mail -s 在 bash 脚本中等待 CTRL+D