7

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

@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)

....

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

有什么想法吗,伙计们?

4

1 回答 1

14

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

于 2013-02-08T15:18:53.877 回答