StromGedacht API용 C# 클라이언트
NuGet에서 사용할 수 있습니다.
dotnet add package StromGedacht.NET
또는
PM > Install-Package StromGedacht.NET
클라이언트는 현재 시간의 지역 상태 또는 특정 기간 동안의 모든 상태를 제공할 수 있습니다.
기간은 향후 최대 2일, 과거 4일까지 연장될 수 있습니다.
요청할 때마다 주를 요청하려는 지역의 우편번호를 제공해야 합니다.
먼저 HttpClient
인스턴스를 생성자에 전달하여 StromGedachtClient
인스턴스를 만듭니다.
var httpClient = new HttpClient ( ) ;
var client = new StromGedachtClient ( httpClient ) ;
Now
/ NowAsync
메서드를 호출하고 지역의 우편번호를 전달하여 지역의 현재 상태를 가져올 수 있습니다.
var state = client . Now ( "70173" ) ;
var state = await client . NowAsync ( "70173" ) ;
API가 오류를 반환하는 경우 이 메서드는 null
반환합니다. 우편번호가 유효하지 않거나 지원되지 않는 경우 이런 일이 발생할 수 있습니다.
States
/ StatesAsync
메서드를 호출하고 지역의 우편번호, 시작 시간 및 종료 시간을 전달하여 특정 기간 동안 지역의 모든 주를 가져올 수 있습니다.
시작 및 종료 시간은 두 날짜일 수 있습니다.
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 ) ;
또는 이 순간을 기준으로 한 시간:
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 ) ;
API가 오류를 반환하는 경우 이 메서드는 빈 목록을 반환합니다. 우편번호가 유효하지 않거나 지원되지 않거나 지원 기간이 초과된 경우 이러한 현상이 발생할 수 있습니다.
Forecast
/ ForecastAsync
메소드를 호출하고 해당 지역의 우편번호, 시작 시간 및 종료 시간을 전달하여 특정 기간에 대한 지역의 예측을 가져올 수 있습니다.
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 ) ;
형식화된 HttpClient
사용하여 시작 프로그램에 StromGedachtClient
를 등록할 수 있습니다.
builder . Services . AddHttpClient < StromGedachtClient > ( ) ;
그런 다음 원하는 곳에 클라이언트를 주입하십시오. 예를 들어 컨트롤러에서:
[ Route ( "Home" ) ]
[ ApiController ]
public class HomeController : ControllerBase
{
private readonly StromGedachtClient _client ;
public HomeController ( StromGedachtClient client )
{
_client = client ;
}
}
API는 분당 약 6개의 요청으로 제한됩니다.
관련 프로젝트는 다음과 같습니다.
사용되는 API는 StromGedacht, TransnetBW GmbH에서 제공합니다.