我在WebApi中遇到有关重复参数的问题。
此API控制器中的 http://localhost:xxxxx/api/getbook?UserId=7
我有一个参数字符串UserId
并且工作正常,但如果我这样做
http://localhost:xxxxx/api/getbook?UserId=7?UserId=7
获得结果
那么如何防止API中的重复参数?
答案 0 :(得分:0)
有几点需要注意:
如果您在发现重复的参数名称时想要抛出一些错误,那么您可以执行以下操作:
var queryParameters = Request.GetQueryNameValuePairs()
.GroupBy(k => k.Key)
.Where(g => g.Count() > 1)
.Select(q => q.Key)
.ToList();
这将为您提供出现多次的List<string>
个参数名称。
如果您对参数名称和值组合是否重复感兴趣(如您的示例所示),那么只需GroupBy(k => k)
,您将获得一个KeyValuePair
的列表。