我正在尝试获取所有传递给请求的参数,以便可以验证是否在类文件中未声明的任何参数将引发异常。
假设我的班级文件是:
[PermissionFilter("somepermision")]
[Route("/Userdetails", "POST")]
public class UserDetails
{
public string surname{ get; set; }
public string forename{ get; set; }
}
所以如果用户错误地从邮递员发送参数,我想抛出一个异常。有没有办法从最终用户那里获取所有请求参数。这样我就可以根据自己的要求进行验证。假设用户在请求类文件中发送了一些额外的参数以及提及参数,我想在这种情况下抛出异常。
答案 0 :(得分:0)
您将在MS_QueryNameValuePairs键的Request.Parameters中找到请求参数
[HttpPost]
public HttpResponseMessage Post()
{
var keyValuePair =this.Request.Properties["MS_QueryNameValuePairs"];
}
并在其上进行四边循环以获取它们,或者您可以像这样手动获取它们:
[HttpPost]
public HttpResponseMessage Post()
{
var query = this.Request.RequestUri.Query;
query.Remove(0);
List<string> paramteters = query.Split('&').ToList();
}
这将为您服务:D