5
私はこの機能に以下のjsonを渡す必要があります。そのため、Shopify Apiは提出を理解することができます。swift 3 apiへのjsonパラメータの投稿
このコードを実行するたびに、必要なパラメータが見つからないというエラーメッセージが表示されます。明らかに、私は正しい変数形式を作成してサーバーに渡すことができません。
Shopify APIは以下のJSONは、ここでPOST{
"customer": {
"first_name": "Steve",
"last_name": "Lastnameson",
"email": "[email protected]",
"verified_email": true,
"addresses": [
{
"address1": "123 Oak St",
"city": "Ottawa",
"province": "ON",
"phone": "555-1212",
"zip": "123 ABC",
"last_name": "Lastnameson",
"first_name": "Mother",
"country": "CA"
}
]
}
}
を経由して渡されることを期待している
は私の投稿コードです:
let customer = [
"customer": [
"first_name": "Steve",
"last_name": "Lastnameson",
"email": "[email protected]",
"verified_email": "true",
"addresses": [
[
"address1": "123 Oak St",
"city": "Ottawa",
"province": "ON",
"phone": "555-1212",
"zip": "123 ABC",
"last_name": "Lastnameson",
"first_name": "Mother",
"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()
サーバーからの正確な応答は何ですか。 –
新しい顧客アカウントを作成する – Hamid
問題は、サーバーが予期された形式のデータを取得していないことです。 – Hamid