如何在Heroku上运行Vapor 3将JSON响应中的Postgres日期转换为ISO8601?

时间:2018-10-27 07:05:32

标签: postgresql heroku heroku-postgres vapor

我在Heroku上安装了Vapor 3 API。不幸的是,它不能正确处理日期。最初,我认为我可以将日期像字符串一样对待,以简化Vapor的工作,如下所示:

struct MyModel {
  var time: String?
}

但是,每当我从数据库获取MyModel并将其返回时,time键根本不会出现(而其他键和值则没有问题)。我以为我可以将time的类型更改为Date,但这导致了同样的事情,并且我已经使用ContentConfig来设置{{1} }到JsonEncoder.dateEncodingStrategy(同样,没有运气–也许是因为.iso8601仅在Linux上支持millis,这是Heroku所使用的?)。

如何使用在Heroku上运行的Vapor 3将PostgreSQL中的Postgres日期转换为ISO8601?

1 个答案:

答案 0 :(得分:1)

让它正常工作!只需将属性更改为Date,然后将请求查询参数也手动转换为Date(用于filter调用)。因此,比Vapor 3中的大多数操作要多一些,但并不可怕。