ไคลเอ็นต์ C# สำหรับ StromGedacht API
มีอยู่ใน NuGet
dotnet add package StromGedacht.NETหรือ
PM > Install-Package StromGedacht.NET ลูกค้าสามารถระบุสถานะภูมิภาค ณ เวลาปัจจุบันหรือทุกรัฐในช่วงเวลาที่กำหนดได้
ระยะเวลาอาจขยายออกไปสูงสุด 2 วันในอนาคตและ 4 วันในอดีต
แต่ละครั้งที่คุณส่งคำขอ คุณจะต้องระบุรหัสไปรษณีย์ของภูมิภาคที่คุณต้องการส่งคำขอไปยังรัฐ
ขั้นแรกให้สร้างอินสแตนซ์ของ StromGedachtClient โดยส่งอินสแตนซ์ของ HttpClient ไปยังตัวสร้าง
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 ) ; คุณสามารถลงทะเบียน StromGedachtClient ใน Startup ของคุณด้วย HttpClient ที่พิมพ์ไว้
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