ios - JSONSerialization.jsonObject

标签 ios swift nsjsonserialization

我正在使用 JSON token 开发 iOS,但遇到了 unsupported_grant_type 错误。我正在开发的代码如下

let params = ["grant_type": "password", "username": userEmail, "password": userPassword]

let url = URL(string: "http://test/SPUSR/Token")

var request = URLRequest(url: url!)

request.httpMethod = "POST"

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

try? request.httpBody = JSONSerialization.data(withJSONObject: params, options: [])

let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)

let task = session.dataTask(with: request) { (data, response, error) in
    if let data = data {
        let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String:Any]

        self.token = json!!["access_token"] as? String
    }

    if let error = error {
        print(error.localizedDescription)
    }
}

task.resume()

有了 Postman,一切都运转良好。我的API是在C#技术下开发的

最佳答案

消息“unsupported_grant_type”明确告诉您您的服务器不期望该请求。您正在尝试 POST:“grant_type”:“password”,正文中的凭据 - 这意味着内容类型必须为“application/x-www-form-urlencoded”。请参阅 Postman 中的控制台。

关于ios - JSONSerialization.jsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041744/

相关文章:

ios - JSON序列化歌曲信息

ios - NEHotspotConfigurationErrorDomain Code=5 "invalid EAP settings."

ios - 单击 View 时出现导航栏

objective-c - Podspec 模式包括未在 source_files 中列出的头文件

json - NSJSON序列化

ios - NSJSONSerialization 不解析 NSManagedObject

ios - AVAudioUnitEQ 真的可以在 iOS 上运行吗?

iOS webViewDidFinishLoading 未被调用

iphone - GDB IOS 中未定义的函数

ios - 图像未显示在场景中