Добрый день,Отправка DateTime к API Rest
Я пытаюсь отправить DateTime, используя RestSharp библиотеку делать что-то вроде этого:
RestClient httpClient = new RestClient(APIurl);
RestRequest request = new RestRequest("/Get", Method.POST);
string dateTime = model.fireDiscoveryDateTime.ToString("yyyy-MM-ddThh:mm:ss.fffZ");
request.AddObject(new GetConflictsRequestModel()
{
token = model.token,
f = "json",
pooLatitude = model.pooLatitude,
pooLongitude = model.pooLongitude,
fireDiscoveryDateTime = dateTime,
dispatchCenterId = model.dispatchCenterId
});
IRestResponse<GetConflictsResponseModel> conflictsResponse = httpClient.Execute<GetConflictsResponseModel>(request);
Без fireDiscoveryDateTime У меня нет каких-либо проблем, но когда Я пытаюсь разобрать DATETIME в ISO-8601 у меня есть эта проблема и содержание выполнения запроса является следующим:
"{\"success\":false,\"error\":{\"code\":8006,\"description\":\"Unable to construct conflict query.\\n\"}}"
Если я использую какую-то программу, чтобы сделать запись, как POSTMAN и скопироватьвставить все параметры ПОЛУЧИТЬ исполняющие эту программу я не имею эту ошибку, и это вернуть то, что я хочу:
{"conflicts":[]}
Я «не знаю, что я делаю неправильно
Во-первых, вы хотите 'hH' вместо' hh'. Но почему вы делаете форматирование самостоятельно? Я ожидаю, что ваша модель запроса будет иметь «DateTime» и получит RestSharp для форматирования для вас. –
Если я его не отформатировал, клиент возвращает что-то вроде «{\" success \ ": false, \" error \ ": {\" code \ ": 8004, \" description \ ": \" \\ nfireDiscoveryDateTime : Неверный тип. Ожидаемое значение DateTime. \\ r \\ n \\ n \ "}}" – Argon
Вы можете использовать строку формата '' o''. Выход должен соответствовать ISO-8601. Подробнее об этом читайте здесь: https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx#Roundtrip – SaxxonPike