Spring mvc空数组作为默认值

use*_*ser 6 java model-view-controller spring controller

我有一个spring控制器方法,它接收一些可选的数组作为参数.它们不是必需的,但是我希望它们不是null,而是当它们不在控制器方法接收的参数中时只是空数组.我知道,我可以检查它们是否为null然后分配为新对象,但这会产生大量的样板代码.此外,当我尝试做这样的事情:

@RequestMapping(headers = "Accept=application/json", method = RequestMethod.GET, value = "/socialUsers/saveFilter", produces = "application/json")
public @ResponseBody
void saveFilterToDataBase(@RequestParam(required = false, value = "gender", defaultValue = "{}") Gender[] genders)

....
Run Code Online (Sandbox Code Playgroud)

我收到第400个错误,当我没有在url中提供参数时,这很奇怪,导致必填字段为false.

伙计们,有什么想法吗?

use*_*ser 11

找到了解决方案.默认的空数组值只是"".但问题是即使参数不是必需的,它也会引发第400个错误.奇怪的.正在努力.

  • @denu,默认的空数组值只是`“”`,所以您写`value =“”` (2认同)