daily_digest/Models/OpenWeatherMapDtos.cs

37 lines
1.6 KiB
C#
Raw Normal View History

using Newtonsoft.Json; // Используем атрибуты JsonProperty
namespace DailyDigestWorker.Models.OpenWeatherMap
{
// Основной класс ответа API
public class WeatherResponseDto
{
[JsonProperty("weather")]
public List<WeatherDescriptionDto>? Weather { get; set; } // Массив описаний погоды (обычно 1 элемент)
[JsonProperty("main")]
public MainWeatherDataDto? Main { get; set; } // Основные погодные данные (температура и т.д.)
[JsonProperty("cod")]
public object? Cod { get; set; } // Код ответа (200 - OK) - можно использовать для доп. проверки
}
// Класс для описания погоды (description, icon)
public class WeatherDescriptionDto
{
[JsonProperty("description")]
public string? Description { get; set; } // Описание (напр., "ясно", "небольшой дождь")
[JsonProperty("icon")]
public string? Icon { get; set; } // Код иконки погоды (для URL или Emoji)
}
// Класс для основных данных (температура, ощущаемая температура)
public class MainWeatherDataDto
{
[JsonProperty("temp")]
public decimal Temp { get; set; } // Температура (в градусах Цельсия, т.к. мы указали units=metric)
[JsonProperty("feels_like")]
public decimal FeelsLike { get; set; } // Ощущаемая температура
}
}