Я новичок в web-api. Я хочу получить HTTP POST-данные, используя web-api. Тип содержимого - application/x-www-form-urlencoded
, а тело запроса:
data={"mac":"0004ED123456","model":"SG6200NXL"}
(формат JSON).
Мой контроллер выглядит так:
public void Post([FromBody]string formData)
{
data.Add(formData);
}
Но formData всегда равно null. Только когда я меняю тело запроса на:
={"mac":"0004ED123456","model":"SG6200NXL"}
Я могу найти {"mac":"0004ED123456","model":"SG6200NXL"}
сохранен в моей строке formData
.
Итак, мой вопрос: как я должен получать данные в формате:
data={"mac":"0004ED123456","model":"SG6200NXL"}
?
И есть ли простой способ, чтобы я мог опровергнуть JSON на С#?
Спасибо за помощь!
UPDATE: Я пытался использовать модель, но она по-прежнему не работает для меня. Моя модель:
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 отправляется маршрутизатором. Моя задача - получить данные.