Меня озадачивают Aeson
и Servant
конверсий ZonedTime
.ZonedTime fromJSON toJSON
К моему Servant
app Я даю некоторое время в адресе: .../2016-12-18T07:51:00+03:00/...
.
Servant
легко преобразует его в ZonedTime
с ... :> Capture "zt" ZonedTime :> ...
.
Затем мое приложение выполняет некоторые вычисления и в json-response. Я хочу вернуть клиенту этот и некоторые другие ZonedTime
s - в случае, если клиент хочет снова предоставить эти моменты моему приложению.
Если вход временной зоны не нулевой +0X:00
(Х/= 0), то на выходе я также получаю +0X:00
, но если на входе я дам .../2016-12-18T07:51:00+00:00/...
, то в ответ я получаю 2016-12-18T07:51:00Z
. И если я попытаюсь подать эту строку на Servant
снова с .../2016-12-18T07:51:00Z/...
, то Servant
не сможет преобразовать ее в ZonedTime
. Фактически возвращается HTTP 400 (Bad Request)
.
Почему? Зачем?
Aha. Очистить. Сначала я попытаюсь сделать новую строку захвата с 'utctime' вместо' zonedtime' и увидит, будет ли Servant управлять с диспетчеризацией между двумя строками. – Dahan