ios - 使用主体参数进行 API 调用

标签 ios json swift

我正在像这样进行 API 调用...(并且工作正常)

let url1 = URL(string: "https://clodsso.company.com/oauth2/access_token?AccessManagement")!
                var request = URLRequest(url: url1)
                request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
                request.addValue("application/json", forHTTPHeaderField: "Accept")
                let session = URLSession.shared
                request.httpMethod = "POST"
                let bodyStr = "grant_type=password&client_id=ASDH_HG&client_secret=768HJGLJfgfo879&username=A123456&password=passwordhyuhg&scope=shjDGH"

                request.httpBody = bodyStr.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue), allowLossyConversion: true)

                let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
                    guard error == nil else {
                        return
                    }
                    guard let data = data else {
                        return
                    }

                    do {

                        //create json object from data
                        if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {

                            print("Success resp :- \(json)")
                            // handle json...

                        }

                    } catch let error {

                        print("Failure resp : \(error.localizedDescription)")
                    }

  })
  task.resume()

现在我想要进行一个 API 调用,它有几个主体参数,即 accessToken 和 Refresh token。它在正文中(在 POSTMAN 中)给出,如下所示,

{
    "AccessToken":"hbvshiuevbkvbjdvkejbvk",
    "RefreshToken":"sfuhksdjfksjdhfksjdhf"
}

现在,当我也有主体参数时,如何在这种情况下进行 API 调用?它与我上面给出的普通 API 调用类似吗?

最佳答案

我认为这应该是您想要的解决方案。

let body: [String : Any] = ["AccessToken" : "hbvshiuevbkvbjdvkejbvk", "RefreshToken" : "sfuhksdjfksjdhfksjdhf"]
request.httpBody = try? JSONSerialization.data(withJSONObject: body, options: .prettyPrinted)

关于ios - 使用主体参数进行 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59303402/

相关文章:

ios - 如何将拖动单元​​格的 indexPath.row 传递给函数? ( swift )

iphone - 使用 CLGeocoder 将 NSString 纬度/经度坐标转换为城市、州和时区

swift - 如何找到 CGImage 各个像素的 alpha 值?

数组 0 键的 PHP json_encode 问题

ios - 本地通知快速缺少角标(Badge)和声音

ios - 我们可以为具有动态高度的 UITableViewCell 使用 XIB 吗?

ios - 如何让 UILabel 每秒更改 NSArray 中每个项目的文本,然后再次旋转?

ios - UIViewController子类策略

android - 在 Android 中从 sqlite 创建 Json

javascript - 从 json 键导出一些值作为新的 json 对象