将日期从 Swift 发送到 Vapor 3

问题描述

我无法从 iOS Swift 5 向 Vapor 3 发送日期。这是我从 Vapor 得到的错误

const fixService = services['default'][15];
const zone = branches['default'][0];

这是我在 iOS 中创建日期的方法

POST /admin/test Expected date string to be ISO8601-formatted.

这是我在 iOS 中的交易模型

let today = Date()
        let f = ISO8601DateFormatter()
        f.formatOptions.insert(.withFractionalSeconds)
        let finalDate = f.string(from: today)

这是我的蒸汽 API

final class Transaction: Codable,ReflectedStringConvertible {
        
    var id: Int?
    var date: String
    var amount: Int
    var planeID: Int
    var userID: UUID
    var month: Int
    var year: Int

    init(date: String,amount: Int,planeID: Int,userID: UUID,month: Int,year: Int) {
        self.date = date
        self.amount = amount
        self.planeID = planeID
        self.userID = userID
        self.month = month
        self.year = year
    }
}

这是我在蒸气侧的交易模型


func createHandler (_ req: Request,transaction: Transaction) throws -> Future<Transaction> {
           return transaction.save(on: req)
       }

知道我做错了什么吗?是不是我发送的是日期字符串而不是日期?非常感谢。

解决方法

答案是删除小数秒

let today = Date()
let f = ISO8601DateFormatter()
let finalDate = f.string(from: today)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...