コード例 #1
0
        /// <summary>
        ///     A realtime call provides observational data at the present time, down to the minute.
        /// </summary>
        /// <param name="latitude">Latitude to request data for in decimal degrees, -87 to 89.</param>
        /// <param name="longitude">Longitude to request data for in decimal degrees, -180 to 180.</param>
        /// <param name="fields">Fields to request from climacell.</param>
        /// <param name="paramters">Optional request paramaters <see cref="OptionalParamters"/>.</param>
        /// <returns>A climacell <see cref="Realtime"/> response.</returns>
        public async Task <Realtime> GetRealtime(double latitude, double longitude, List <string> fields, OptionalParamters paramters = null)
        {
            if (fields.Count <= 0)
            {
                throw new ArgumentException($"{nameof(fields)} cannot be empty.");
            }

            var query    = BuildRequestUri(latitude, longitude, fields, paramters, Endpoint.Realtime);
            var response = await httpClient.HttpRequestAsync($"{baseUri}{query}").ConfigureAwait(false);

            return(await Realtime.Deserialize(response, jsonSerializerService));
        }