2016-03-11 1 views
-1

Так что я сижу здесь, бросая запрос POST от Postman на мой веб-сайт. Я определил переменные RCV, SND и TXT x-www-form-urlencoded.Как я могу соответствовать запросу с помощью веб-api?

На стороне сервера я определил это метод

public ActionResult Receiver(string RCV, string SND, string TXT) 

и что не работает. Однако, если я создаю

public ActionResult Receiver() 

то, что работает. Как я могу сделать метод web api улавливать параметры x-www-form-urlencoded?

+0

Какова полезность запроса? (Я имею в виду необработанную строку) –

+1

Возможный дубликат [ASP.NET web api не может получить приложение HTTP/POST HTTP/POST] (http://stackoverflow.com/questions/20369361/asp-net-web- api-can not-get-application-x-www-form-urlencoded-http-post) – Dalorzo

ответ

1

Полезную нагрузку параметров не URL-адреса необходимо обернуть в один объект. Затем вы можете определить атрибут FromBody.

public class MyContent{ 

    public string RCV{get;set;} 
    public string SND{get;set;} 
    public string TXT{get;set;} 
} 

public ActionResult Receiver([FromBody] MyContent contentBody) 

Если вам нужны параметры URL, вы можете сохранить метод как есть и просто добавить их в URL-адрес. Чтобы указать его, хотя вы также можете добавить атрибут FromUri к параметрам (-ам)

+0

[Поведение веб-API по умолчанию] (http://stackoverflow.com/a/35797886/1959948) – Dalorzo

Смежные вопросы