参数类型不符合Encodable

时间:2019-05-29 18:40:07

标签: ios swift networking codable encodable

我正在尝试为POST请求创建一个Struct。据我所知,该结构符合Codable类型别名,但我不断收到错误

  

参数类型'RegisterUserRequest.Type'不符合预期的类型'Encodable'“,当它作为参数传递给我的JSONEncoder时。

我尝试仅遵循Encodable来编写建议的必需init(),但似乎没有任何效果。

这是我的Struct的样子


struct RegisterUserRequest: Codable {
    var firstName: String
    var lastName: String
    var email: String
    var phoneNumber: String
    var dateOfBirth: String

    enum CodingKeys: String, CodingKey {
        case firstName = "first_name"
        case lastName = "last_name"
        case email
        case phoneNumber = "phone"
        case dateOfBirth = "date_of_birth"
    }
}

这是我得到的错误

enter image description here

1 个答案:

答案 0 :(得分:3)

在这里,您需要传递符合Codable / Encodable类型的对象,而不是类型本身

do {
    let instance = RegisterUserRequest(firstname:////////......
    let data = try JSONEncoder().encode(instance)
}
catch {
  print(error)
}