加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – ASP.NET Web API – 具有多个参数的GET请求

发布时间:2020-12-16 03:39:28 所属栏目:asp.Net 来源:网络整理
导读:我想要做的是有一个api请求,比如/api/calculator?1=7.00u0026amp;2=9.99u0026amp;3=5.50u0026amp;4=45.76等.我的控制器如何获取请求数据?查询字符串的键/代码的整数介于1和1000之间.在查询字符串中,它们可以是1000个代码中的一些代码,不一定是所有代码.
我想要做的是有一个api请求,比如/api/calculator?1=7.00u0026amp;2=9.99u0026amp;3=5.50u0026amp;4=45.76等.我的控制器如何获取请求数据?查询字符串的键/代码的整数介于1和1000之间.在查询字符串中,它们可以是1000个代码中的一些代码,不一定是所有代码.价值部分是双倍的.

我认为可行的一种方法是,如果我创建一个具有1000个属性的模型对象(ex StupidObject)(现在应该使用名为p1,p2,.. p1000的属性作为代码,因为int不是允许的属性名称),装饰有ModelBinder的.然后对于控制器我可以有像GetCalcResult(StupidObject obj){…}但这似乎不是一个优雅的解决方案:)

我试过像GetCalcResult([FromURI] Dictionary< int,double> dict){…}这样的控制器,但是dict总是为空.也没有[FromURI]我收到错误.还尝试了List< KeyValuePair< int,double>>作为控制器参数具有相同的结果.

有人能指出我正确的方向还是给我一个有效的例子?

解决方法

一种方法是避免尝试将值作为参数传递并简单地执行

var queryValues = Request.RequestUri.ParseQueryString();

在你的行动方法. QueryValues将是NameValueCollection,您可以迭代它以访问您的查询参数.

如果您确实想使用参数,那么具有[FromUri] FormDataCollection类型的参数可能会起作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读