ไคลเอ็นต์ 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