Ios Swift:REST-JSON通过身份验证获取请求

Ios Swift:REST-JSON通过身份验证获取请求,ios,json,swift,rest,Ios,Json,Swift,Rest,我对Swift相当陌生,对JSON和REST也非常陌生。我尝试验证用户传递的凭据,并验证凭据是否有效,然后将一些JSON数据打印到屏幕上。我在网上找到的关于这个的一切似乎都涉及到一个简单的json api url和一个没有任何凭据的api密钥 基本上我有这样一个url: 我将是一个用户名,如:Bob和密码,如:examplePass 如果有人能用swift向我展示一个如何通过身份验证获取数据的例子,或者为我指出正确的方向,那就太好了。谢谢 此登录请求和定期发布。这依赖于名为SwiftyJSON的

我对Swift相当陌生,对JSON和REST也非常陌生。我尝试验证用户传递的凭据,并验证凭据是否有效,然后将一些JSON数据打印到屏幕上。我在网上找到的关于这个的一切似乎都涉及到一个简单的json api url和一个没有任何凭据的api密钥

基本上我有这样一个url: 我将是一个用户名,如:Bob和密码,如:examplePass


如果有人能用swift向我展示一个如何通过身份验证获取数据的例子,或者为我指出正确的方向,那就太好了。谢谢

此登录请求和定期发布。这依赖于名为SwiftyJSON的文件。我建议您下载它并将其添加到您的项目中,以便进行任何JSON解析。尝试在chrome中下载一个名为postman的浏览器扩展,以使用JSON和REST。这是一个登录的post请求示例和一个通用post请求。这些文件以模式swift文件的形式存在

func loginRequest(username: String!, password: String!, completionHandler: ((NSURLResponse!, JSON, NSError?) -> Void)) {
        var request : NSMutableURLRequest = NSMutableURLRequest()
        let url: String! = "http://yourRestURL/login/\(username)/\(password)"
        println(url)
        request.URL = NSURL(string: url)
        request.HTTPMethod = "POST"
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) in
            var json = JSON(data: data!)
            println(json)
            completionHandler(response, json, error)
        })
    }

func postRequest(resourceURL: String!, completionHandler: ((NSURLResponse!, JSON, NSError?) -> Void)) {
        var request : NSMutableURLRequest = NSMutableURLRequest()
        request.URL = NSURL(string: resourceURL)
        request.HTTPMethod = "POST"

        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) in
            var json = JSON(data: data!)
            completionHandler(response, json, error)
        })
如果坚持GET:资源URL就是GET请求的URL

func getRequest(resourceURL: String!, completionHandler: ((NSURLResponse!, JSON, NSError?) -> Void)) {
        var request : NSMutableURLRequest = NSMutableURLRequest()
        request.URL = NSURL(string: resourceURL)
        request.HTTPMethod = "GET"

        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) in
            var json = JSON(data: data!)
            completionHandler(response, json, error)
        })

    }
用法:在你的VC中:

 func parseLoginRequest (usernameGiven: String, passwordGiven: String, sender: AnyObject?) {
        println("parsing")

        modal.loginRequest(usernameGiven, password: passwordGiven) { (response, json, error) in
            // parse it :) 

 })

您提供的链接不是有效的URL。。。您使用的是什么API?他们应该有文档来显示错误或成功的响应。@RhapX抱歉,堆栈溢出格式。我现在更新了。这通常是通过帖子完成的。REST或JSON解析需要JAVA帮助吗。如果您需要为post请求(如登录)解析一些JSON,我可以提供帮助。我正试图对我的专用网络中的https url执行此操作。此外,当导航到该页面时,在第一次打开浏览器会话时,我会看到一个自签名证书。我当前正在尝试此url:let url:String!=“https://(ipAddressField.text)/yii_entry.php/rest/case/(username)/(password)”我遇到了以下错误:NSURLConnection/CFURLConnection HTTP加载失败(kcfstreamordomainssl,-9807)有什么想法吗?@user3459799这是DNS的临时错误。确保您的设备上有证书。《邮递员》这样的帖子成功了吗?事实上,我从来没有听说过《邮递员》,直到你这么说,哇,这是一个很酷的网络应用程序!但只要邮递员设置了BasicAuth,用户名和密码正确,一切都可以正常工作。例如,Status=200解析请求是什么样子的。loginRequest(usernameField.text,密码:passwordField.text){(response,json,error)in//parse:)println(“它工作了吗?response:(response)json:(json.count)error:(error?.description)”)}