Alamofire 将路径变量添加到 Url

Alamofire Add Path Variable to Url

我如何在 alamofire 中使用那种 GET 请求“http:///someApi/someEndPoint/:variable1/:variable2”。 该变量包含一些字符串,例如 variable1 = "USD" 和 variable2 = "weekly"

Alamofire 不支持任何类型的自动路径参数编码。相反,您可以使用字符串插值以编程方式构建路径。

var url = URL(string: "http://someApi/someEndPoint/")!
url.appendPathComponent("\(variable1)")
url.appendPathComponent("\(variable2)")

Alamofire 中没有对此的内置支持。您可以采用这样的纯字符串插值方法:

let urlString = "http://someApi/someEndPoint/\(variable1)/\(variable2)"

如果你想得到,例如,blah1:

static var APIendPoint = "http://someApi.blah.blah"

static var blah1: String {
     return APIendPoint + "/blah1"
}

这使您可以访问 "http://someApi.blah.blah/blah1"

如果你有这样的路径参数:"http://someApi.blah.blah/blah1{blahID}/blah2

你会像这样做类似的方法:

static func getBlah2(blahID: String) -> String {
        return blah1 + "/\(blahID)" + "/blah2"
    }

并在您的 API 请求中调用它,使用 alamofire 更容易:

func api(id: Int = 0) {
AF. request(YourAPI.getBlah2(blahID: id), method .get) .. . 
.. . 
}

更容易..