Подтвердить что ты не робот

Удаление заданного ключа с карты Groovy

Я уверен, что это очень простой вопрос, но я очень новичок в Groovy, и это то, над чем я сейчас борется. У меня есть HttpServletRequest, и мне нужно что-то сделать с его параметрами. Однако я хочу исключить ровно 1 параметр.

Раньше я использовал

req.getParameterMap

Однако, чтобы удалить одно значение, я пытаюсь что-то сделать в строках

def reqParams = req.getParameterMap?.remove('blah');

Я знаю, что вышеупомянутое не совсем работает, но что psuedo-код для того, чего я пытаюсь достичь. Мне действительно нужна новая Карта и исходные объекты req.getParameterMap(), чтобы выглядеть точно так же, кроме одного отсутствующего ключа. Какой лучший способ достичь этого? Спасибо!

4b9b3361

Ответ 1

req.getParameterMap возвращает неизменяемую карту, которая не может быть изменена. Вам необходимо создать новую карту, putAll из карты параметров и удалить требуемый ключ, который вам не нужен.

def reqParams = [:] << req.getParameterMap()
reqParams.remove('blah')

У вас есть новая карта как reqParams (без пары нежелательных ключей) и исходная карта параметров.