У меня есть параметр тела, который предоставляется API WooCommerce для проверки. При отправке параметра в alamofire я получил 400 код состояния - PullRequest
0 голосов
/ 31 января 2019

У меня есть параметр 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] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...