Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift Alamofire将路径变量添加到Url_Swift_Alamofire_Url Parameters - Fatal编程技术网

Swift Alamofire将路径变量添加到Url

Swift Alamofire将路径变量添加到Url,swift,alamofire,url-parameters,Swift,Alamofire,Url Parameters,我如何使用那种GET请求”http://someApi/someEndPoint/:variable1/:variable2“在阿拉莫菲尔。 变量包含一些字符串,如variable1=“USD”和variable2=“weekly”Alamofire不支持任何类型的自动路径参数编码。相反,您可以使用字符串插值以编程方式构建路径 var url=url(字符串:http://someApi/someEndPoint/")! appendPathComponent(“\(variable1)”) a

我如何使用那种GET请求”http://someApi/someEndPoint/:variable1/:variable2“在阿拉莫菲尔。
变量包含一些字符串,如variable1=“USD”和variable2=“weekly”

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

var url=url(字符串:http://someApi/someEndPoint/")!
appendPathComponent(“\(variable1)”)
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) .. . 
.. . 
}

更简单…

Hi Jon,我尝试过这种方法,但这会将query参数附加到url。我正在寻找没有意义的路径变量。
appendingPathComponent
appendingPathComponent会附加到路径,因此您会得到
http://someApi/someEndPoint/variable1/variable2
。不。这不是关于解析局部变量。有一种方法可以创建get-api,比如“/:variable”。“variable”字面上是在url@cagatayegilmez你是否在寻找与此不同的最终结果?