我试图获取传递给请求的所有参数,以便我可以验证类文件中未声明的任何参数是否会引发异常。
假设我的类文件是:
[PermissionFilter("somepermision")]
[Route("/Userdetails", "POST")]
public class UserDetails
{
public string surname{ get; set; }
public string forename{ get; set; }
}
因此,如果用户从 Postman 错误地发送参数,我想抛出异常。有什么方法可以从最终用户获取所有请求参数。这样我就可以根据我的要求验证它。假设用户发送一些额外的参数以及请求类文件中的提及参数,在这种情况下我想抛出异常。
您将在 MS_QueryNameValuePairs 键的 Request.Parameters 中找到请求参数
[HttpPost]
public HttpResponseMessage Post()
{
var keyValuePair =this.Request.Properties["MS_QueryNameValuePairs"];
}
并在其上创建一个 foo 循环来获取它们,或者您可以像这样手动获取它们:
[HttpPost]
public HttpResponseMessage Post()
{
var query = this.Request.RequestUri.Query;
query.Remove(0);
List<string> paramteters = query.Split('&').ToList();
}
这对你有用:D