如何通过alamofire发布ID和密码

Posted

技术标签:

【中文标题】如何通过alamofire发布ID和密码【英文标题】:how to post id and password by alamofire 【发布时间】:2017-06-19 15:04:41 【问题描述】:

全部。 我学习 ios 和 alamofire。

我尝试连接登录 API url。它运行正常。

这是代码。

var rTest = Alamofire.request(self.authLoginUrl, method: .post)
            .responseJSON response in
                print(response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialization

                if let JSON = response.result.value 
                    print("JSON: \(JSON)")
                
        

    

我想发布 id 和密码

let params = ["Username": "ryulstory", "Password": "1234!"]
        var rTest = Alamofire.request(self.authLoginUrl, method: .post, Parameters: params)
            .responseJSON response in
                print(response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialization

                if let JSON = response.result.value 
                    print("JSON: \(JSON)")
                
        

    

有错误:调用中的额外参数“方法”。 如果我不输入参数,错误不会显示。 什么是问题?你能帮帮我吗?

最好的问候。

【问题讨论】:

您使用的是什么版本的 Alamofire?试试parameters: params @u.gen 谢谢你很有帮助 【参考方案1】:

假设您的后端接收并返回 JSON,这应该可以工作

let params: Parameters = [
    "Username": "ryulstory", 
    "Password": "1234!"
]

//if server accepts and returns JSON
Alamofire.request(self.authLoginUrl, method: .post, parameters: params, encoding: URLEncoding.default, headers: nil).validate().validate(contentType: ["application/json"])
            .responseJSON()  response in
                switch response.result 

                case .success:
                    print("Success")
                case .failure(let error):
                      print("Failure")
                
            
            .response  response in
                log.debug("Request: \(String(describing: response.request))")
                log.debug("Response: \(String(describing: response.response))")
                log.debug("Error: \(String(describing: response.error))")

                if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) 
                    log.debug("Data: \(utf8Text)")
                
        

【讨论】:

以上是关于如何通过alamofire发布ID和密码的主要内容,如果未能解决你的问题,请参考以下文章

将数据保存在特定用户 ID iOS - Alamofire, Json

如何使用 Alamofire 同时传递 queryStrings 和 JSON Body

在 swift 3 中下载文件时,alamo fire 中的进度视图不会更新

如何在 Swift 项目中添加 Alamofire

模块“Alamofire”没有名为“upload”的成员

Alamofire 和 api 密钥有问题