Как преобразовать даты Postgres в ISO8601 в ответах JSON, когда Vapor 3 работает на Heroku? - PullRequest
0 голосов
/ 27 октября 2018

У меня есть Vapor 3 API на Heroku. К сожалению, он не обрабатывает даты правильно. Первоначально я думал, что для простоты в Vapor можно рассматривать даты как строки, например:

struct MyModel {
  var time: String?
}

Но всякий раз, когда я выбираю MyModel s из базы данных и возвращаю ее, ключ time вообще не появляется (в то время как другие ключи и значения не имеют проблем). Я думал, что смогу просто изменить тип time на Date, но это привело к тому же самому, и я уже использовал ContentConfig, чтобы установить JsonEncoder.dateEncodingStrategy на .iso8601 (снова не повезло - возможно, потому что dateEncodingStrategy поддерживает только миллис в Linux, что использует Heroku?).

Как преобразовать даты Postgres в ISO8601 в формате json с Vapor 3, запущенным на Heroku?

1 Ответ

0 голосов
/ 28 октября 2018

Работай!Просто изменили свойства на Date s и вручную преобразовали параметры запроса в Date s (для использования в вызовах filter).Таким образом, немного больше, чем большинство вещей в Vapor 3, но не ужасно.

...