I'm sure this is a very simple question, but I'm very new to Groovy and it's something I've been struggling with for awhile now. I have an HttpServletRequest
and I need to do something with it's parameters. However, I want to exclude exactly 1 parameter.
Previously, I was using
req.getParameterMap
However, to remove the one value, I'm trying something along the lines of
def reqParams = req.getParameterMap?.remove('blah');
I know that the above does not quite work, but that's the psuedo-code for what I'm trying to achieve. I really need the new Map and the original req.getParameterMap()
Objects to look exactly the same except for the one missing key. What's the best way to achieve this? Thanks!
req.getParameterMap
returns an immutable map which cannot be modified. You need to create a new map, putAll
from the parameter map and remove the required key you do not want.
def reqParams = [:] << req.getParameterMap()
reqParams.remove('blah')
You have your new map as reqParams
(without the undesired key value pair) and the original parameter map.