2017-01-17 2 views
0

Я использую AlamoFire, чтобы сделать запрос API. Подключение к API было довольно простым, то, что было массово сложным, - это запрос API.Massively Confused О строках запроса

Я пытаюсь создать строку запроса, подобную этой:

https://api-fxtrade.oanda.com/v3/instruments/USD_CAD/candles?price=BA&from=2016-10-17T15%3A00%3A00.000000000Z&granularity=M1

Я чувствую, что я исследовал много в Интернете для документации по этому вопросу и пришел короткий ..

У кого-нибудь есть какие-либо ресурсы или советы, чтобы поделиться информацией о строках запроса?

+0

Ваш вопрос о том, как создать строку запроса для запроса с AlamoFire в Swift, или как извлечь компоненты строки запроса? Или что-то другое? – Dai

+0

Мой вопрос: как я могу генерировать запрос? – bobdawg

ответ

1

Самый простой способ сделать строку запроса является использование URLComponents, который обрабатывает все процент побег для вас:

// Keep the init simple, something that you can be sure won't fail 
var components = URLComponents(string: "https://api-fxtrade.oanda.com")! 

// Now add the other items to your URL query 
components.path = "/v3/instruments/USD_CAD/candles" 
components.queryItems = [ 
    URLQueryItem(name: "price", value: "BA"), 
    URLQueryItem(name: "from", value: "2016-10-17T15:00:00.000000000Z"), 
    URLQueryItem(name: "granularity", value: "M1") 
] 

if let url = components.url { 
    print(url) 
} else { 
    print("can't make URL") 
} 

То есть с чистым Свифта, который вы должны ознакомиться с. После того как вы познакомились с основами, Alamofire может упростить для вас:

let params = [ 
    "price": "BA", 
    "from": "2016-10-17T15:00:00.000000000Z", 
    "granularity": "M1" 
] 
Alamofire.request("https://api-fxtrade.oanda.com/v3/instruments/USD_CAD/candles", parameters: params) 
    .responseData { response in 
     // Handle response 
    } 
+0

Большое вам спасибо за помощь! – bobdawg