Spring MVC + RequestParam как Map + получить параметры массива URL не работает
В настоящее время я работаю над контроллером API. Этот контроллер должен быть в состоянии поймать любой -неизвестный - параметр и положить его вMap
объект. Сейчас я'м с помощью этого кода, чтобы поймать все параметры и поместить их вMap
public String processGetRequest(final @RequestParam Map params)
Теперь URL, который я называю, выглядит следующим образом:
server/api.json?action=doSaveDeck&Card_IDS[]=1&Card_IDS[]=2&Card_IDS[]=3
Затем я распечатываю параметры для целей отладки с помощью этого фрагмента кода:
if (logger.isDebugEnabled()) {
for (Object objKey : params.keySet()) {
logger.debug(objKey.toString() + ": " + params.get(objKey));
}
}
Результат этого:
10:43:01,224 DEBUG ApiRequests:79 - action: doSaveDeck
10:43:01,226 DEBUG ApiRequests:79 - Card_IDS[]: 1
Но ожидаемый результат должен быть примерно таким:
10:43:XX DEBUG ApiRequests:79 - action: doSaveDeck
10:43:XX DEBUG ApiRequests:79 - Card_IDS[]: 1
10:43:XX DEBUG ApiRequests:79 - Card_IDS[]: 2
10:43:XX DEBUG ApiRequests:79 - Card_IDS[]: 3
Или хотя бы скажите мне, что Card_IDS являетсяString[] / List
и, следовательно, должны быть брошены. Я также попытался привести параметр кList
вручную, но это тоже не работает:
for (Object objKey : params.keySet()) {
if(objKey.equals(NameConfiguration.PARAM_NAME_CARDIDS)){ //Never reaches this part
List ids = (List)params.get(objKey);
for(String id : ids){
logger.debug("Card: " + id);
}
} else {
logger.debug(objKey + ": " + params.get(objKey));
}
}
Может кто-нибудь сказать мне, как получить массив -Card_IDS
Должно быть динамически - отMap params
с помощью?NameConfiguration.PARAM_NAME_CARDIDS