I'm trying to add parameters to OpenWeather's Geocoding API
But I couldn't find how to add a "&lat=40&lon=40" for example
Here's my implementation, what should I do instead?
enum Networking{
case showLatLon(_ lat: String,_ lon: String)
case showName(_ name: String)
}
Then here's the extension
extension Networking: TargetType{
var baseURL: URL{return URL(string: "https://api.openweathermap.org/data/2.5/weather?appid=[API_Key]")!}
var path: String {
switch self{
// case .showLatLon(let lat, let lon):
// return "&lat=\(lat)&lon=\(lon)"
case .showName(let name):
return "&q=\(name)"
case .showLatLon:
return ""
}
}
var method: Moya.Method {
switch self{
case .showLatLon, .showName:
return .get
}
}
var task: Task {
switch self{
case .showLatLon(let lat, let lon):
print(path)
return .requestParameters(parameters: ["lat": lat, "lon": lon], encoding: URLEncoding.default)
case .showName(let name):
return .requestParameters(parameters: ["name":name], encoding: URLEncoding.default)
}
}
var headers: [String : String]? {
return ["Content-Type":"application/json"]
}
}
Change Encoding style from
URLEncoding.defaulttoURLEncoding.queryString