Я создаю свой первый WebAPI с помощью ASP.NET MVC 4 WebAPI.Приложение ContentType/json в ASP.NET WebAPI
Запросы должны быть отправлены с использованием приложения/json ContentType с utf-8 в качестве набора символов.
Мой метод POST выглядит следующим образом:
public HttpResponseMessage Post([FromBody]string value)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
Всякий раз, когда я посылаю запрос POST параметр «значение» равно нулю. Тело запроса содержит Json: { "name":"test" }
.
Я предпочитаю, чтобы параметр метода Post был либо строкой, содержащей Json, либо быть типа JObject (из библиотеки JSON.NET). Как это сделать? И возможно ли это?
Конечно. Прежде всего, переименуйте значение в 'name' – AFD
Это не работает. Значение параметра по-прежнему равно нулю. В конце концов, Json будет похож на {"name1": [{}, {}], "name2": [], "name3": "some value"}. Я не хочу, чтобы Json был десериализован в объект самой системой. Я хочу сделать это сам. – Grant
Если вы хотите контролировать десериализацию, добавьте форматирование типа пользовательских носителей для JSON. В противном случае, это вариант для отправки тела как строки x-www-form-urlencoded вместо этого, а затем для создания объекта из этого? –