Веб-интерфейс 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 отправляется маршрутизатором. Моя работа заключается в получении данных.

Ответы на вопрос(5)

Ваш ответ на вопрос