• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在 swift 3 中使用 Backendless REST API

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:23:07 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试使用 IOS swift 3 连接回无尽的休息 api。 我正在添加应用程序 ID,如下所示的 key

request.addValue("0C896F8C-D3CE-BD08-FF1D-2B087CE77B00", forHTTPHeaderField: "application-id")
request.addValue("9D9A2BCD-F272-16E8-FF01-CD5AFD8CC300", forHTTPHeaderField: "secret-key")

我也得到了

fatal error: unexpectedly found nil while unwrapping an Optional value

在这行代码中

 let strData = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
            print("Body: \(strData)")

谁能告诉我发生了什么事...

let request = NSMutableURLRequest(url: NSURL(string:"/v1/users/login") as! URL)
        let session = URLSession.shared
        request.httpMethod = "OST"
        let params = ["name":"mm", "password":"mm"] as Dictionary<String, String>

        request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: [])
        request.addValue("0C896F8C-D3CE-BD08-FF1D-2B087CE77B00", forHTTPHeaderField: "application-id")
        request.addValue("9D9A2BCD-F272-16E8-FF01-CD5AFD8CC300", forHTTPHeaderField: "secret-key")
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("REST", forHTTPHeaderField: "application-type")

        request.addValue("application/json", forHTTPHeaderField: "Accept")

       let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
            print("Response: \(response)")
            let strData = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
            print("Body: \(strData)")

        let json = try! JSONSerialization.jsonObject(with: data!, options: .mutableLeaves)
        print(json)
        //JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary

            // Did the JSONObjectWithData constructor return an error? If so, log the error to the console
        if(error != nil) {
               // print(err!.localizedDescription)
                let jsonStr = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
                print("Error could not parse JSON: '\(jsonStr)'")
            }
            else {
                // The JSONObjectWithData constructor didn't return an error. But, we should still
                // check and make sure that json has a value using optional binding.
                if let parseJSON = json as? NSDictionary   {                   // Okay, the parsedJSON is here, let's get the value for 'uccess' out of it
                    let success = parseJSON["success"] as? Int
                    print("Succes: \(success)")
                }
                else
                {
                    // Woa, okay the json object was nil, something went worng. Maybe the server isn't running?
                    let jsonStr = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
                    print("Error could not parse JSON: \(jsonStr)")
                }
            }
        })

        task.resume()



Best Answer-推荐答案


你需要先检查数据不为零:

if let d = data {
    let strData = NSString(data: d, encoding: String.Encoding.utf8.rawValue)
    print("Body: \(strData)")
} else {
    print(error)

}

关于ios - 如何在 swift 3 中使用 Backendless REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41278215/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap