通过HTTP POST数据时出现Swift 4错误

时间:2018-06-24 10:20:33

标签: swift api http http-post

使用API​​将 complain 数据发送到服务器时出现问题。 我的发送功能。结果我得到404错误(下面的屏幕截图)

func complain(jsonData: [String: Any], token: String) {

    print(token)
    request(complainURL, method: .post, parameters: jsonData, encoding: JSONEncoding.default, headers: ["Authorization": "Bearer \(token)"])
        .responseString {(response) in
            switch response.result {
            case .success(let data):
                if let error = JSON(data)["errors"].string {
                    self.delegate?.failureRequest(error: JSON(error).dictionaryObject!)
                } else {
                    self.delegate?.updateRequest(rosemaryJSON: JSON(jsonData), byState: .complain)
                }

            case .failure(let error):
                print("FAIL: \(error.localizedDescription)")
            }
    }
}

我的JsonData

 let param: [String: Any] = [
            "details": "\(AlertTextField!.text!)",
            "subject": "Complain",
            "client_id": (EVTUser.user?.id!)!
        ]

1 个答案:

答案 0 :(得分:0)

我的原始代码是...

func complain(jsonData: [String: Any], token: String) {

print(token)
request(complainURL, method: .post, parameters: jsonData, encoding: JSONEncoding.default, headers: ["Authorization": "Bearer \(token)"])
    .responseJSON {(response) in
        switch response.result {
        case .success(let data):
            if let error = JSON(data)["errors"].string {
                self.delegate?.failureRequest(error: JSON(error).dictionaryObject!)
            } else {
                self.delegate?.updateRequest(rosemaryJSON: JSON(jsonData), byState: .complain)
            }

        case .failure(let error):
            print("FAIL: \(error.localizedDescription)")
        }
}
}

我只需将 responseJSON 更改为 responseString ,它现在就可以使用!我成功了 希望它能对某人有所帮助。