Cliente C# para la API StromGedacht
Disponible en NuGet.
dotnet add package StromGedacht.NET
o
PM > Install-Package StromGedacht.NET
El cliente puede proporcionar el estado de la región en el momento actual o todos los estados durante un período de tiempo determinado.
El plazo podrá extenderse como máximo 2 días hacia el futuro y 4 días hacia el pasado.
Cada vez que realice una solicitud, deberá proporcionar el código postal de la región para la cual desea solicitar el estado.
Primero cree una instancia de StromGedachtClient
pasando una instancia de HttpClient
a su constructor.
var httpClient = new HttpClient ( ) ;
var client = new StromGedachtClient ( httpClient ) ;
Puede obtener el estado actual de una región llamando a los métodos Now
/ NowAsync
y pasando el código postal de la región.
var state = client . Now ( "70173" ) ;
var state = await client . NowAsync ( "70173" ) ;
Si la API devuelve un error, este método devuelve null
. Esto podría suceder si el código postal no es válido o no es compatible.
Puede recuperar todos los estados de una región durante un período de tiempo específico llamando a los métodos States
/ StatesAsync
y pasando el código postal de la región, la hora de inicio y la hora de finalización.
La hora de inicio y finalización pueden ser dos fechas:
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = client . States ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = await client . StatesAsync ( "70173" , from , to ) ;
o las horas relativas a este momento:
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = client . States ( "70173" , hoursInPast , hoursInFuture ) ;
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = await client . StatesAsync ( "70173" , hoursInPast , hoursInFuture ) ;
Si la API devuelve un error, este método devuelve una lista vacía. Esto podría suceder si el código postal no es válido/no es compatible o si se excede el período admitido.
Puede obtener el pronóstico de una región para un período de tiempo específico llamando a los métodos Forecast
/ ForecastAsync
y pasando el código postal de la región, la hora de inicio y la hora de finalización.
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = client . Forecast ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = await client . ForecastAsync ( "70173" , from , to ) ;
Puede registrar StromGedachtClient
en su Inicio con un HttpClient
escrito.
builder . Services . AddHttpClient < StromGedachtClient > ( ) ;
Luego inyecta al cliente donde quieras. Por ejemplo, en un controlador:
[ Route ( "Home" ) ]
[ ApiController ]
public class HomeController : ControllerBase
{
private readonly StromGedachtClient _client ;
public HomeController ( StromGedachtClient client )
{
_client = client ;
}
}
La API está limitada a aproximadamente 6 solicitudes por minuto.
A continuación se muestran algunos proyectos relacionados:
La API utilizada la proporciona StromGedacht, TransnetBW GmbH.