swift Alamofire添加路径变量到URL

5uzkadbs  于 2023-01-20  发布在  Swift
关注(0)|答案(3)|浏览(134)

我怎样才能在alamofire中使用这种GET请求“http://someApi/someEndPoint/:variable1/:variable2”。变量包含一些字符串,如variable1 =“USD”和variable2 =“weekly”

roejwanj

roejwanj1#

Alamofire中没有内置的支持,你可以采用如下的纯字符串插值方法:

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

ldfqzlk82#

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

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

zsbz8rwp3#

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

更容易...

相关问题