SwiftでPostmanを叩くときの知識
SwiftでPostman製APIを叩くときの知識
ヘッダにAPIKeyを添える場合、forHttpHeaderFieldに"X-API-Key"を指定する。
code:Swift
let baseURL: URL = URL(string: ...)
let apiKey = "..."
let request: URLRequest = {
var request = URLRequest(url: baseURL)
request.httpMethod = "GET"
// APIリクエストの認証に必要なカスタムヘッダを添える
request.setValue(apiKey, forHTTPHeaderField: "X-API-Key")
request.cachePolicy = .returnCacheDataElseLoad
return request
}
Concurrencyで叩きたい場合はこれ
code:Swift
let (data, _) = try await URLSession.shared.data(for: request)
データのデコーディングはJSONDecoderでやることが多い
code:Swift
let newsItems = try JSONDecoder().decode(ResponseModel.self, from: data)
return newsItems.news
ResponseModelのデータ構成は、ターミナル等のshellか何かでcurl コマンドコマンドを叩き、そのレスポンスを見ればわかる
code:sh
curl -v -H "X-API-Key: your-api-key" https://your.base.url
your-api-keyの部分にAPIKey、その後に続くURL部分にbaseURLを指定して叩く
使われているオプションの意味
-v
HTTP Headerを確認する。今回は要らなかったかも?
-H
Request Headerを指定する。今回は"X-API-Key: 〇〇"部分を指定するのに必要だったと思う。