加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 3将json参数发布到api

发布时间:2020-12-14 04:41:39 所属栏目:百科 来源:网络整理
导读:我需要将以下json传递给此函数,以便Shopify Api可以理解提交. 每次执行此代码时,都会收到一条错误消息,指出缺少必需参数.显然,我无法创建正确的变量格式并将其传递给服务器. Shopify API期望通过POST传递以下json { "customer": { "first_name": "Steve","la
我需要将以下json传递给此函数,以便Shopify Api可以理解提交.

每次执行此代码时,都会收到一条错误消息,指出缺少必需参数.显然,我无法创建正确的变量格式并将其传递给服务器.

Shopify API期望通过POST传递以下json

{
    "customer": {
        "first_name": "Steve","last_name": "Lastnameson","email": "steve.lastnameson@example.com","verified_email": true,"addresses": [
            {
                "address1": "123 Oak St","city": "Ottawa","province": "ON","phone": "555-1212","zip": "123 ABC","first_name": "Mother","country": "CA"
            }
        ]
    }
}

这是我的发布代码:

let customer = [
    "customer": [
        "first_name": "Steve","verified_email": "true","addresses": [
            [
                "address1": "123 Oak St","country": "CA",],] as [String: Any]

var request = URLRequest(url: URL(string: shopUrl + "/admin/customers.json")!)
request.httpMethod = "POST"
request.httpBody = try! JSONSerialization.data(withJSONObject: customer,options: [])

URLSession.shared.dataTask(with:request,completionHandler: {(data,response,error) in
    if error != nil {
        print(error)
    } else {
        do {
            guard let json = try? JSONSerialization.jsonObject(with: data!,options: .allowFragments) as? [String: Any] else { return }

            guard let errors = json?["errors"] as? [[String: Any]] else { return }
                if errors.count > 0 {
                    // show error
                    return
                } else {
                    // show confirmation
                }
            }
        }
    }).resume()

解决方法

请求需要声明内容类型.加:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读