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类型的问题了。

相关内容

热门资讯

9分钟了解!至友互娱是不是有外... 9分钟了解!至友互娱是不是有外 挂,jj跑得快,德州论坛(有挂解密)1、下载好至友互娱是不是有外 挂...
三分钟了解!大唐河北麻将有挂吗... 三分钟了解!大唐河北麻将有挂吗,微信jj斗地主有挂吗,教你攻略(有挂辅助挂)1、让任何用户在无需大唐...
2分钟了解!壹起跑得快吗,陕麻... 2分钟了解!壹起跑得快吗,陕麻圈外挂,介绍教程(有挂插件)1、很好的工具软件,可以解锁游戏的壹起跑得...
十分钟了解!朋朋棋牌怎么拿好牌... 十分钟了解!朋朋棋牌怎么拿好牌,福建众娱软件辅助去哪里买,教你攻略(有挂秘笈);1、操作简单,无需注...
9分钟了解!经典联盟辅助器,家... 9分钟了解!经典联盟辅助器,家家乐牌吧吗,专业教程(有挂技巧)1、经典联盟辅助器透视辅助简单,经典联...
1分钟了解!微乐广西麻将跑得快... 1分钟了解!微乐广西麻将跑得快有挂的吗,瑞星游戏有挂吗,透明挂教程(有挂详情)1、不需要AI权限,帮...
两分钟了解!家家乐牌吧辅助,福... 两分钟了解!家家乐牌吧辅助,福建天天开心王国辅助器,分享教程(有挂秘笈)亲,关键说明,福建天天开心王...
三分钟了解!天天贵阳麻将助赢神... 三分钟了解!天天贵阳麻将助赢神器,辽宁心悦麻将有挂吗,解密教程(有挂教学)天天贵阳麻将助赢神器软件透...
五分钟了解!微信决胜麻将胡牌神... 五分钟了解!微信决胜麻将胡牌神器下载,中至南昌麻将丰城踢牌有挂吗,科技教程(有挂插件)1、全新机制【...
6分钟了解!陕西欢喜怎么开挂,... 6分钟了解!陕西欢喜怎么开挂,中至二人麻将有猫腻吗,曝光教程(有挂秘笈)1、中至二人麻将有猫腻吗ai...