Как получить все параметры, переданные на запрос в веб-API - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь получить все параметры, переданные в запрос, чтобы я мог проверить, вызовет ли какой-либо параметр, который не объявлен в файле класса, исключение.

предположим, мой файл класса:

    [PermissionFilter("somepermision")]
    [Route("/Userdetails", "POST")]
    public class UserDetails
    {
        public string surname{ get; set; }
        public string forename{ get; set; }
    }

поэтому, если пользователь неправильно отправляет параметры почтальону, я хочу выдать исключение. Есть ли способ получить все параметры запроса от конечного пользователя. так что я могу подтвердить это в соответствии с моим требованием. предположим, что пользователь отправляет некоторые дополнительные параметры вместе с параметрами упоминания в файле класса запроса, в этом случае я хочу создать исключение.

1 Ответ

0 голосов
/ 12 сентября 2018

Параметры запроса вы найдете в Request.Parameters в ключе MS_QueryNameValuePairs

 [HttpPost]
    public HttpResponseMessage Post()
    {
        var keyValuePair =this.Request.Properties["MS_QueryNameValuePairs"];
    }

и сделайте на нем петлю foor, чтобы получить их, или вы можете взять их вручную следующим образом:

      [HttpPost]
    public HttpResponseMessage Post()
    {
        var query = this.Request.RequestUri.Query;
        query.Remove(0);
        List<string> paramteters = query.Split('&').ToList();
     }

это будет работать для вас: D

...