Почему дата GET верна, но неверна в POST? - PullRequest
0 голосов
/ 23 апреля 2019

Использование Reactjs с Axios для публикации / доступа к webapi dotnetcore.

  1. Axios GET API-вызов для получения списка datetimesUTC
    • Ответ datetimeUTC явно корректен в консоли / отображении.
  2. Axios GET API-вызов проходит в выбранную дату-времяTUT
    • API явно получает правильную дату и время UTC
  3. Axios POSTвызов API проходит в том же выбранном datetimeUTC
    • API получает локализованное время даты вместо времени UTC.

Моя проблема: почему в миреAPI получает правильный UTC на GET, но локализован на POST?

Я пробовал пустые функции контроллера, одну с POST, другую с GET, и я могу ясно видеть, что они разные.

/// API post w/ Axios
axios.post("api/action", {
  date: date
});
/// API get w/ Axios
axios.get("api/action", {
  params: { date: date}
});
[HttpPost("{action}")]
public void Reconcile([FromBody]DateTime date)
{
  ...
}
[HttpGet("{action}")]
public void Reconcile(DateTime date)
{
  ...
}

Действие API GET получает правильное время в формате UTC.Действие API POST получает неверную локализованную дату и время.

РЕДАКТИРОВАТЬ:

  • POST

    • Axios Post: date: "2019-01-01T12: 00: 00.000Z "
    • API получено: DateTime - {01.01.2009 12:00:00 PM}
  • GET

    • Axios Получить: дата: "2019-01-01T12: 00: 00.000Z"
    • Получен API: DateTime - {01.01.2009 5:00:00 AM}

Я просто не могу понять, почему он меняется для post / get.Мне не нужно было делать что-то необычное для GET, но весь день я пытаюсь заставить POST работать.Я мог бы просто изменить его на GET, и это было бы хорошо, но семантически это действительно должен быть POST.

...