微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想要做的是有一个api请求,比如/api/calculator?1=7.00\u0026amp;2=9.99\u0026amp;3=5.50\u0026amp;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类型的参数可能会起作用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐