У меня проблема с получением сообщения запроса. Я получаю необходимые данные с типом содержимого x-www-form-urlencoded, но в форме JSON (см. Изображение).Я использую Ngrok для имитации передачи данных на сервер.
См. Изображение здесь для формы, которую я получаю
Проблема в том, что я всегда получаю значение NULL.
Я уже создал класс, который должен получать данные (я редактировал этот, прежде чем использовать его для части Entry):
public class FormData
{
public string @object { get; set; }
public Entry[] entry { get; set; }
public string resource_url { get; set; }
}
public class Entry
{
public string uuid { get; set; }
public string[] changed_fields { get; set; }
public string time { get; set; }
}
Мой [HttpPost] в моем контроллере, который я уже использовал:
- с использованием класса formData и его возвратом, добавление ToString ()
- с использованием JObject, даже если это форма (я пытаюсь получить этот формат JSON)
- используя [FromBody], [FromQuery] (но я получаю неподдерживаемый тип мультимедиа) я использовал FromForm, но все еще получаю значение NULL
- Попытался десериализовать его
- Попытался использовать "объект" для поддержки всехклассы.Все еще Null.
- Использование общедоступного HttpResponseMessage
- Попытка с использованием расширения ApiController.
Все еще получаю значения NULL для них.
Теперь я используюэто просто для возврата ответа 200
public string Post(FormData deviceData)
{
string please = deviceData.ToString();
return please;
}
Если вы не видите картинку выше, вот запрос, который я получаю:
POST /api/values HTTP/1.1
Host: localhost:50754
User-Agent: ServiceM8-Platform/1.0
Content-Length: 233
Accept: */*
Content-Type: application/x-www-form-urlencoded
X-Forwarded-For: 35.176.170.33
X-Original-Host: 1fbbf508.ngrok.io
{"object":"JOB","entry":[{"uuid":"d4798ca6-5022-4527-b4ac-b6c7e822490b","changed_fields":["status"],"time":"2018-09-28 09:43:32"}],"resource_url":"https:\/\/api.servicem8.com\/api_1.0\/JOB\/d4798ca6-5022-4527-b4ac-b6c7e822490b.json"}
Любая помощь приветствуется.