代码之家  ›  专栏  ›  技术社区  ›  Badr Filali

使用alamofire更改编码正文

  •  0
  • Badr Filali  · 技术社区  · 7 年前

    我需要用这个代码改变我的身体发送到服务器的方式

            let parameters: Parameters = [
            "users": array
        ]
        print(parameters)
    
        Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: ApiSvain.header)
            .responseJSON { response in
                print(response)
        }
    

    数组为[字符串]

    当我打印出来的时候我进去了 Xcode调试 :

    [“用户”:[“5ab4305e30c73c4aa140aa06”,“5ab4324c30c73c4aa140aa07”,“5ab432fe30c73c4aa140aa08”]]

    但在我的 后端 我得到(节点/快车):

    ['5ab4305e30c73c4aa140aa06', ‘5ab4324c30c73c4aa140aa07’, '5ab432fe30c73c4aa140aa08']

    简单引用和\n元素之间,我需要在后端具有该结果:

    “5ab4305e30c73c4aa140aa06”、“5ab4324c30c73c4aa140aa07”、“5ab432fe30c73c4aa140aa08”]

    1 回复  |  直到 7 年前
        1
  •  1
  •   Britto Thomas    7 年前

    您可以创建自己的URLRequest并将其传递给Alamofire进行HTTP通信。

    所以,如果您想将字符串数组作为json格式发送到服务器。只需使用URL创建一个URLRequest,并将请求的httpBody设置为数据格式的序列化数组。此URL请求可以直接加载到Alamofire

    请参考下面的代码。

        let array = ["5ab4305e30c73c4aa140aa06", "5ab4324c30c73c4aa140aa07", "5ab432fe30c73c4aa140aa08" ]
        var urlRequest = URLRequest.init(url: URL.init(string: "YOUR_URL_STRING")!)
        if let data = try? JSONSerialization.data(withJSONObject: array, options: []) {
            urlRequest.httpBody = data
        }
    
    
        Alamofire.request(urlRequest)
            .responseJSON { response in
                print(response)
        }