首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alamofire : Rest

Alamofire : Rest
EN

Stack Overflow用户
提问于 2016-04-07 14:10:40
回答 2查看 657关注 0票数 0

我正在使用私有api注册用户。

Api结构如下所示:

代码语言:javascript
复制
post data = {
            "email": "",
            "password": ""
        }

------------------------------------------
          return value = {
          "result": True,
          "message": "",
          "token": ""
          }

我的代码是:

代码语言:javascript
复制
    Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
        .responseString { response in        
                guard response.result.error == nil else {
                    print(response.result.error!)
                    return
                }
                print(response.result.value)
                if let value:String = response.result.value {
                    let post = JSON(value)
                    if let connection = post.dictionary {
                        let token = connection["token"]?.string
                        print(token)
                    }
                }
    }

reponse.result.value返回一个HTML,我无法获得“结果”、“消息”和“令牌”值。我尝试了从github中找到的几种方法,但都没能成功。

编辑:

我设法从api: SUCCESS:{"message":“您已经注册了”、“结果”:false、"token":asdwasdasd}获得响应。

例如,我将如何获得“令牌”并保存它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-07 15:20:53

为了保存令牌,我建议将其放入密钥链中。如果您熟悉NSUserDefaults,则密钥链的作用类似,只不过它为您存储的内容添加了一个安全层。(有关密钥链如何工作的更多信息,请参见苹果的密钥链文档)

通过苹果的API使用密钥链可能有点费解,所以我使用KeychainAccess库来给我一个更友好的API。UICKeyChainStore文档提供了一个关于如何使用库的非常简洁的教程,因此我将在那里参考您的实现(请参阅上面的KeychainAccess链接)。

票数 1
EN

Stack Overflow用户

发布于 2016-04-07 19:51:30

我找到了一个解决方案,现在它能像我想要的那样起作用.

代码语言:javascript
复制
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
        .responseJSON { response in        
                guard response.result.error == nil else {
                    print(response.result.error!)
                    return
                }
                if let json: NSDictionary = response.result.value as? NSDictionary {
                let result = json["result"]!.stringValue
                    print(result)
                    let token = json["token"] as! String
                    print(token)

            }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36478769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档