public async Task <WeatherResults> Get([FromBody] AddressData address) { Geolocation gl = new Geolocation(_configuration); //var address = JsonConvert.DeserializeObject<AddressData>(rawAddress); Coordinates coordinates = gl.GetLatAndLong(address); string key = _configuration["OpenWeatherApiKey"]; var request = $"https://api.openweathermap.org/data/2.5/onecall?lat={coordinates.Lat}&lon={coordinates.Long}&exclude=hourly,daily&appid={key}"; var client = _clientFactory.CreateClient(); var response = await client.GetAsync(request); var responseBody = await response.Content.ReadAsStringAsync(); //TODO: Create object to deserialize to var forecast = JsonConvert.DeserializeObject <RawWeather>(responseBody); //convert values to readable values - check if you need json property var results = WeatherFormatter.FormatWeather(forecast); return(results); }