Поэтому я использовал мойя для создания запроса API к openweatherAPI. Теперь кажется, что возвращение Postman в порядке, но вызовы API для X-кода возвращают 401: Неверный ключ API
Я пробовал большинство способов увидеть, что на самом деле не так. Но я не вижу ответа.
import Foundation
import Moya
import UIKit
enum WeatherAPI {
case showCurrentWeather(cityName: String)
case showForcasedWeather(cityName: String)
}
extension WeatherAPI: TargetType {
var task: Task {
switch self {
case .showCurrentWeather(cityName: let cityName):
let params = ["q":cityName , "APPID": Constants.WEATHER_API_KEY]
return .requestParameters(parameters: params, encoding: JSONEncoding.default)
case .showForcasedWeather(cityName: let cityName):
let params = ["q":cityName , "APPID": Constants.WEATHER_API_KEY]
return .requestParameters(parameters: params, encoding: JSONEncoding.default)
}
}
var baseURL: URL {
return URL(string: "https://api.openweathermap.org/data/2.5")!
}
var path: String {
switch self {
case .showCurrentWeather:
return "/weather"
case .showForcasedWeather:
return "/forecast"
}
}
var method: Moya.Method {
switch self {
case .showCurrentWeather:
return .get
case .showForcasedWeather:
return .get
}}
var sampleData: Data {
return Data()
}
var headers: [String : String]? {
switch self {
case .showCurrentWeather:
return ["Content-type":"application/json"]
case .showForcasedWeather:
return ["Content-type":"application/json"]
}
}
}
https://api.openweathermap.org/data/2.5/weather?q=london&APPID=dbd3b02d8958d62185d02e944cd5f522
отлично работает на Почтальоне и браузерах.
X-код возвращает
"cod": 401, "message": "Неверный ключ API. Для получения дополнительной информации см. http://openweathermap.org/faq#error401."}