Веб-интерфейс ASP.NET не может получить HTTP-запрос приложения / x-www-form-urlencoded
Я новичок в веб-API. Я хочу получать данные HTTP POST с помощью веб-API. Тип контентаapplication/x-www-form-urlencoded
и тело запроса выглядит так:
data={"mac":"0004ED123456","model":"SG6200NXL"}
(Формат JSON).
Мой контроллер такой:
public void Post([FromBody]string formData)
{
data.Add(formData);
}
Но formData всегда нулевой. Только когда я изменяю тело запроса на:
={"mac":"0004ED123456","model":"SG6200NXL"}
я могу найти{"mac":"0004ED123456","model":"SG6200NXL"}
был сохранен в моемformData
строка.
Поэтому мой вопрос заключается в том, как мне получить данные в формате:
data={"mac":"0004ED123456","model":"SG6200NXL"}
?
И есть ли простой способ, которым я могу опреснить JSON в C #?
Спасибо за помощь!
ОБНОВЛЕНИЕ: я попытался использовать модель, но она все еще не работает для меня. Моя модель:
public class Device
{
public string mac { get; set; }
public string model { get; set; }
}
и мой запрос HTTP POST:
заголовок:
User-Agent: Fiddler
Content-type: application/x-www-form-urlencoded
Host: localhost:52154
Content-Length: 46
тело:
data={"mac":"0004ED123456","model":"SG6200NX"}
Я должен использоватьContent-type: application/x-www-form-urlencoded
насколько я знаю, потому что HTTP POST отправляется маршрутизатором. Моя работа заключается в получении данных.