У меня есть параметр body, который задает API woocommerce для проверки. При отправке параметра в alamofire я получил код состояния 400.
Я попытался сделать код, как указано выше, но сообщение не работает и отправлятьмне ошибка, которую я отправил выше func postData ()
Я попытался отправить тело Json как код, указанный ниже.
let baseUrl = "jhkjhkjhkjhkj"
let header = ["Content-Type": "application/json"]
func postData() {
let parameters: [String: AnyObject] = [
"consumer_key":
"***" as AnyObject,
"consumer_secret":
"***" as AnyObject,
"billing": [
"first_name": "sdfsdf" as AnyObject,
"last_name": "rasdfsdna" as AnyObject,
"company": "dfs" as AnyObject,
"address_1": "sdfsd, sdfsdf" as AnyObject,
"address_2": "" as AnyObject,
"city": "" as AnyObject,
"state": "" as AnyObject,
"postcode": "" as AnyObject,
"country": "NP" as AnyObject,
"email": "sdfdfsdf@gmail.com" as AnyObject,
"phone": "333333333" as AnyObject
] as AnyObject,
"shipping": [
"first_name": "ssdfsdabsdfsdfsdfina" as AnyObject,
"last_name": "ransdfsda" as AnyObject,
"company": "dfsdf Infotech" as AnyObject,
"address_1": "sdfs, Nesdfsdfpal" as AnyObject,
"address_2": "" as AnyObject,
"city": "" as AnyObject,
"state": "" as AnyObject,
"postcode": "" as AnyObject,
"country": "sdfsdf" as AnyObject
] as AnyObject,
"payment_method": "cod" as AnyObject,
"payment_method_title": "Cash on delivery" as AnyObject,
"transaction_id": "" as AnyObject,
"date_paid": "" as AnyObject ,
"date_paid_gmt": "" as AnyObject ,
"date_completed": "" as AnyObject,
"date_completed_gmt": "" as AnyObject,
"line_items": [
[
"name": "dfsdf fsdfsdf sdfs T-shirt" as AnyObject,
"product_id": 3127 as AnyObject,
"variation_id": 3132 as AnyObject,
"quantity": 1 as AnyObject,
"tax_class": "" as AnyObject,
"subtotal": "400.00" as AnyObject,
"subtotal_tax": "0.00" as AnyObject,
"total": "400.00" as AnyObject,
"total_tax": "0.00" as AnyObject,
"taxes": [] as AnyObject,
"meta_data": [
[
"id": 1820 as AnyObject,
"key": "pa_color" as AnyObject,
"value": "black" as AnyObject
] as AnyObject,
[
"id": 1821 as AnyObject,
"key": "size" as AnyObject,
"value": "M" as AnyObject
] as AnyObject
] as AnyObject,
"sku": "" as AnyObject,
"price": 400 as AnyObject
] as AnyObject
] as AnyObject,
"tax_lines": [] as AnyObject,
"shipping_lines": [
[
"method_title": "Flat rate" as AnyObject,
"method_id": "flat_rate" as AnyObject,
"instance_id": "22" as AnyObject,
"total": "0.00" as AnyObject,
"total_tax": "0.00" as AnyObject,
"taxes": [] as AnyObject,
"meta_data": [
[
"id": 1833 as AnyObject,
"key": "Items" as AnyObject,
"value": "Round Buddha Printed T-shirt × 1" as
AnyObject
] as AnyObject
] as AnyObject
]
] as AnyObject,
"fee_lines": [
[
"name": "Delivery Charge:" as AnyObject,
"tax_class": "0" as AnyObject,
"tax_status": "taxable" as AnyObject,
"amount": "50" as AnyObject,
"total": "50.00" as AnyObject,
"total_tax": "0.00" as AnyObject,
"taxes": [] as AnyObject,
"meta_data": [] as AnyObject
] as AnyObject
] as AnyObject
]
Alamofire.request(baseUrl, method: .post, parameters:
parameters, encoding: URLEncoding.default , headers:
header).responseJSON { (response) in
var err: Error?
switch response.result {
case .success(let json):
print(json)
guard let userData = response.result.value as? [String:
AnyObject] else { return }
print(userData)
let responseCode = response.response?.statusCode
if responseCode == 201 {
print("post success")
} else {
print("post failed")
}
case .failure(let error):
err = error
print( err as Any)
}
}
}
Я хотел бы опубликовать данные.
Ошибка:
{ code = "rest_invalid_json"; data = { "json_error_code" = 4;
"json_error_message" = "Syntax error"; status = 400; }; message =
"Invalid JSON body passed."; } ["message": Invalid JSON body passed.,
"data": { "json_error_code" = 4; "json_error_message" = "Syntax
error"; status = 400; }, "code": rest_invalid_json] }