Client C# pour l'API StromGedacht
Disponible sur NuGet.
dotnet add package StromGedacht.NET
ou
PM > Install-Package StromGedacht.NET
Le client peut fournir l'état de la région à l'heure actuelle ou tous les états pour une période donnée.
Le délai peut s'étendre au maximum sur 2 jours dans le futur et 4 jours dans le passé.
Chaque fois que vous ferez une demande, vous devrez fournir le code postal de la région pour laquelle vous souhaitez demander l'État.
Créez d’abord une instance de StromGedachtClient
en passant une instance de HttpClient
à son constructeur.
var httpClient = new HttpClient ( ) ;
var client = new StromGedachtClient ( httpClient ) ;
Vous pouvez récupérer l'état actuel d'une région en appelant les méthodes Now
/ NowAsync
et en transmettant le code postal de la région.
var state = client . Now ( "70173" ) ;
var state = await client . NowAsync ( "70173" ) ;
Si l'API renvoie une erreur, cette méthode renvoie null
. Cela peut se produire si le code postal n'est pas valide/n'est pas pris en charge.
Vous pouvez récupérer tous les états d'une région pour une période spécifique en appelant les méthodes States
/ StatesAsync
et en transmettant le code postal de la région, l'heure de début et l'heure de fin.
L’heure de début et de fin peut être deux dates :
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 ) ;
ou les heures relatives à ce moment :
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 l'API renvoie une erreur, cette méthode renvoie une liste vide. Cela peut se produire si le code postal est invalide/non pris en charge ou si la période prise en charge est dépassée.
Vous pouvez récupérer les prévisions d'une région pour une période spécifique en appelant les méthodes Forecast
/ ForecastAsync
et en transmettant le code postal de la région, l'heure de début et l'heure de fin.
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 ) ;
Vous pouvez enregistrer le StromGedachtClient
dans votre startup avec un HttpClient
tapé.
builder . Services . AddHttpClient < StromGedachtClient > ( ) ;
Injectez ensuite le client où vous le souhaitez. Par exemple dans un contrôleur :
[ Route ( "Home" ) ]
[ ApiController ]
public class HomeController : ControllerBase
{
private readonly StromGedachtClient _client ;
public HomeController ( StromGedachtClient client )
{
_client = client ;
}
}
L'API est limitée à environ 6 requêtes par minute.
Voici quelques projets connexes :
L'API utilisée est fournie par StromGedacht, TransnetBW GmbH.