This is how I add query params to a base URL:
let baseURL: URL = ... let queryParams: [AnyHashable: Any] = ... var components = URLComponents(url: baseURL, r
You can simply encode components.percentEncodedQuery after query items was inserted.
components.percentEncodedQuery
let characterSet = CharacterSet(charactersIn: "/+").inverted components.percentEncodedQuery = components.percentEncodedQuery?.addingPercentEncoding(withAllowedCharacters: characterSet)