Я помещаю объект JSON в виде строки в сервисный метод через API выборки.Некоторые свойства объекта - это строки ISO 8601 с часовыми поясами (например, «StartDate»: «2019-04-16T13: 46: 04-06: 00»).Вот как выглядит строка перед POSTing через API fetch.Метод сервиса C # REST, в который я отправляю сообщение, имеет только (объектный документ [FromBody]) в качестве параметра.При переходе к этому методу строка выглядит следующим образом: «StartDate»: «2019-04-16T19: 46: 04 + 00: 00».
Почему / куда преобразуется часовой пояс?Это была строка при отправке в службу и все еще строка там.
Что следует отметить: это прекрасно работает при использовании службы локально (через localhost).Когда он развернут, он не работает.
Пример кода (TypeScript, на стороне клиента):
postDocument() {
let doc = "{'StartDate': '2019-04-16T13:46:04-06:00'}";
let response = await fetch("[serviceURL]/api/Document/AddDocument",
{
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: doc
});
}
Пример кода (на стороне сервера (в TestService), C #):
[HttpPost]
public void AddDocument([FromBody]object document)
{
// Datetime string has already been converted, no longer has timezone.
console.log(document.ToString());
// startdate here is = "2019-04-16T19:46:04+00:00"
return;//Doesn't matter what's in this method
}