arrays - Alamofire - 将字符串数组作为参数传递

标签 arrays swift alamofire

我正在使用 swift3 和 Alamofire 4。

我需要将数据传递给 API,API 将字符串数组作为 POST 参数。

问题是——据我所知——Alamofire 只接受 [String: Any] 类型的参数。

我如何使用该 API?

代码:

func PostAPIWithHeaders(url: String, parameters: [String], header: HTTPHeaders, callback: @escaping (JSON) -> ()) {

        Alamofire.request(url, method: .post, parameters: parameters, headers: header).responseJSON { (response) in
            switch response.result {
            case .success(let value):
                let json = JSON(value)
                callback(json)
            case .failure(let error):
                print(error)
            }
        }
    }

此代码产生错误:Extra argument 'method' in call

当我将参数类型从 [String] 更改为 [String:Any] 时,它起作用了。但就我而言,我需要传递 [String]

最佳答案

解决办法是:

func PostAPIWithHeaders(url: String, parameters: [String], header: HTTPHeaders, callback: @escaping (JSON) -> ()) {


    let postParameters: Parameters = [ "entpointkeyname": parameters ]

    Alamofire.request(url, method: .post, parameters: postParameters, headers: header).responseJSON { (response) in
        switch response.result {
        case .success(let value):
            let json = JSON(value)
            callback(json)
        case .failure(let error):
            print(error)
        }
    }
}

PS: alamofire 例子中就是这一行:

"baz": ["a", 1],

参见:可能的 json 结构:http://json.org/

关于arrays - Alamofire - 将字符串数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918053/

相关文章:

swift - 如何使用 Swift 的逻辑动态显示图像和文本?

ios - 带有右键的后退栏按钮项目

ios - 错误 : could not find an overload for'init'that accepts the supplied arguments double (swift)

ios - 如何使用RxSwift取消之前的请求

ios - 用于 Swift 2.0 的 Alamofire 和 SwiftyJSON

ios Instagram api POST 关系端点使用 Alamofire - 错误

c - 这看起来不像一个函数。这是什么?

java - Java 的 Arrays.asList() 是否违反了 OOP?

Javascript 3 维数组赋值错误

ios - swift 数组(字符串)不工作