AspNetCore中IDictionary在URI参数中出现的问题
创始人
2024-09-20 09:01:17
0

在Asp Net Core中,当我们在控制器的Action中使用IDictionary类型的参数时,会遇到在URI中传递参数时的问题。具体表现为,当我们传递一个类似于以下格式的URI时:/api/values?key1=value1&key2=value2 时,IDictionary类型的参数只会包含key1的值,并且key2的值会被忽略。

这个问题的原因在于Asp Net Core将URI中的键值对参数解析为一个字典类型的对象,而在创建字典对象时,它只会包含第一个相同名称的键值对,而会忽略之后的所有相同名称的键值对。

为了解决这个问题,我们需要修改URI传递参数的方式,将参数包装成一个JSON字符串,然后在Action中通过反序列化解析为IDictionary对象。代码示例如下:

URI参数:/api/values?json={"key1":"value1","key2":"value2"}

代码:

[HttpGet] public IActionResult Get([FromQuery] string json) { var dictionary = JsonConvert.DeserializeObject>(json); // 对dictionary进行操作 return Ok(); }

这样,我们就可以通过传递JSON字符串来解决在URI参数中使用IDictionary类型的问题了。

相关内容

热门资讯

透视安卓版!hhpkoer辅助... 透视安卓版!hhpkoer辅助器视频,hhpoker辅助软件是真的么,策略教程(一直存在有挂)-哔哩...
透视黑科技!wepoker科技... 透视黑科技!wepoker科技辅助器(透视)开挂辅助神器(好像真的有挂)-哔哩哔哩亲,关键说明,we...
透视规律!德州透视竞技联盟,h... 透视规律!德州透视竞技联盟,hhpoker有辅助吗,指南教程(都是是真的挂)-哔哩哔哩1、上手简单,...
透视代码!wepoker有没有... 透视代码!wepoker有没有插件(透视)开挂辅助app(一直有挂)-哔哩哔哩1、完成wepoker...
辅助透视!cloudpoker... 辅助透视!cloudpoker辅助,pokerrrr2辅助,操作教程(竟然是有挂)-哔哩哔哩1、超多...
透视俱乐部!we-poker辅... 透视俱乐部!we-poker辅助(透视)开挂辅助神器(果然真的有挂)-哔哩哔哩1、实时we-poke...
透视辅助!wepoker辅助器... 透视辅助!wepoker辅助器,wepoker钻石怎么看底牌,积累教程(好像存在有挂)-哔哩哔哩1、...
透视肯定!wepoker有辅助... 透视肯定!wepoker有辅助插件吗,wepoker辅助器,教程书教程(切实有挂)-哔哩哔哩1、we...
透视挂!hh poker插件下... 透视挂!hh poker插件下载(透视)开挂辅助方法(切实是有挂)-哔哩哔哩1、在hh poker插...
透视规律!pokermaste... 透视规律!pokermaster修改器(透视)开挂辅助软件(本来真的有挂)-哔哩哔哩1)pokerm...