Как выполнить запрос curl в swift? - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь использовать внешний API, у которого есть запрос API, подобный следующему.Я привык к запросам только с одним URL, но что мне делать с аргументами "H" и "d"?Должен ли я включить их в свой URL или

$ curl -X POST https://api.lucidtech.ai/v0/receipts \
  -H 'x-api-key: <your api key>' \
  -H 'Content-Type: application/json' \
  -d '{"documentId": "a50920e1-214b-4c46-9137-2c03f96aad56"}'

В настоящее время у меня есть следующий код, но где я могу разместить ключ API и идентификатор документа в этом коде?

@IBAction func getScannedData(_ sender: Any){
    guard let url = URL(string: "https://api.lucidtech.ai/v0/receipts") else {return}

    let session = URLSession.shared
    session.dataTask(with: url) { (data, response, error) in
        if let response = response{
            print(response)
        }


}

1 Ответ

0 голосов
/ 27 августа 2018

Это пример того, как вы можете перевести команду curl в URLRequest:

guard let url = URL(string: "https://api.lucidtech.ai/v0/receipts"),
    let payload = "{\"documentId\": \"a50920e1-214b-4c46-9137-2c03f96aad56\"}".data(using: .utf8) else
{
    return
}

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("your_api_key", forHTTPHeaderField: "x-api-key")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = payload

URLSession.shared.dataTask(with: request) { (data, response, error) in
    guard error == nil else { print(error!.localizedDescription); return }
    guard let data = data else { print("Empty data"); return }

    if let str = String(data: data, encoding: .utf8) {
        print(str)
    }
}.resume()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...