dictionary - 从 Groovy 映射中删除给定键

标签 dictionary groovy httprequest

我确信这是一个非常简单的问题,但我对 Groovy 很陌生,这是我已经挣扎了一段时间的问题。我有一个 HttpServletRequest,我需要用它的参数做一些事情。但是,我想精确排除 1 个参数。

以前,我使用的是

req.getParameterMap

但是,为了删除一个值,我正在尝试类似的操作

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

我知道上面的方法不太有效,但这是我想要实现的目标的伪代码。我确实需要新的 Map 和原始的 req.getParameterMap() 对象看起来完全一样,除了缺少一个键。实现这一目标的最佳方法是什么?谢谢!

最佳答案

req.getParameterMap 返回一个无法修改的不可变映射。您需要从参数映射中创建一个新映射 putAll 并删除您不需要的所需键。

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

您的新映射为 reqParams(不含不需要的键值对)和原始参数映射。

关于dictionary - 从 Groovy 映射中删除给定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860826/

相关文章:

angular - 在 Angular 4 中带有 header 的 Http 请求

python - 在获取和存储用户输入时如何不覆盖字典的值? (Python)

python - 将字符串列表转换为具有单独整数的列表时出现错误?

View 中未呈现验证错误

Groovy 替换文件内容的占位符,类似于多行字符串

tomcat - Grails war 无法部署 java.lang.NoClassDefFoundError 和 SLF4J : Class path contains multiple SLF4J bindings

javascript - Angular http 请求缺少 post 值

python - 在 dict 键和值上使用 zip

python - 两个字典(键和值)的递归差异?

php - 如何使用 Yii 框架记录所有对站点的 HTTP 请求?