위와 같은 주소로 ProfileThumbnail 데이터를 받아야 할 때 파라미터를 설정하기 위해 URL escape code
을 알아야 합니다.
URL Escape Code
는 URL에서 특정 문자나 기호를 안전하게 사용하기 위해 사용되는 인코딩된 코드입니다.
URL은 특정 문자를 포함할 수 없거나, 그 문자가 URL의 일부 요소(ex: 쿼리 매개변수, 경로, 쿼리 문자열 등)와 혼동을 일으키는 경우가 있으므로 이러한 문자를 대체하는 데 사용됩니다.
따라서 URL Escape Code를 사용하면 URL에서 특수 문자를 안전하게 전달하고 인식할 수 있습니다.
import Foundation
import Alamofire
func getProfileThumbnail(channelID: String) async -> ProfileThumbnail? {
let params = [
"part": "snippet,contentDetails,statistics",
"id": channelID,
"fields": "items/snippet/thumbnails",
"key": HANS_KEY
]
let dataTask = AF.request(ChannelURL, method: .get, parameters: params)
.serializingDecodable(ProfileThumbnail.self)
switch await dataTask.result {
case .success(let result):
return result
case .failure(let error):
print(error.localizedDescription)
return nil
}
}