Alamofire将路径变量添加到网址

时间:2020-07-22 19:13:00

标签: swift alamofire url-parameters

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

例如,如果您想获得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) .. . 
.. . 
}

更容易..。

相关问题