いくつかのオプションの配列をパラメーターとして受け取るスプリングコントローラーメソッドがあります。それらは必須ではありませんが、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)
....
URLにパラメータを指定しないと、400番目のエラーが発生します。これは奇妙なことで、必須フィールドがfalseであるためです。
それについて何かアイデアはありますか?