From 65b970712278d93096476246eccf5b11470a3d4b Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Thu, 17 Oct 2024 09:40:01 +0000 Subject: [PATCH] Pilz.Net aktualisieren --- Pilz.Net.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/Pilz.Net.md b/Pilz.Net.md index 5f869c3..c1055e9 100644 --- a/Pilz.Net.md +++ b/Pilz.Net.md @@ -25,10 +25,10 @@ Creating a request can be done with the asyncron `IApiClient.MakeRequest()` and ```cs // Run asyncron -var result = await client.SendRequest("/sdx/get"); +var result = await client.SendRequest("/sdx/get"); // Run syncron -var result = client.SendRequest("/sdx/get").Result; +var result = client.SendRequest("/sdx/get").Result; ``` ### Check result @@ -61,6 +61,23 @@ result.EnsureOk(); If the status code is fine and the message is not null, you can use it. It's typed as `T` while `T` is an type that inherits from `ApiMessage` which you can define at `SendRequest()` method. +
+Example messages + +```cs +public class SDxGetRequest(int id) +{ + public int Id { get; } = id; +} + +public class SDxGetResponse(List sdx) +{ + public List SDx { get; } = sdx; +} +``` + +
+ ## Server ### Create new ApiServer @@ -93,7 +110,7 @@ When a request reaches the server then the server checks each registered handler [ApiMessageHandler("/sdx/get")] private ApiResult GetSDx() { - return ApiResult.Ok(new SDxResponse(Database.SDxList.Select(s => s.ToClient()))); + return ApiResult.Ok(new SDxResponse([.. Database.SDxList.Select(s => s.ToClient())])); } ``` @@ -107,9 +124,9 @@ private ApiResult GetSDx(SDxGetRequest message) { if (Database.SDxList.FirstOrDefault(s => s.Id == message.Id) is not SDx sdx) return ApiResult.NotFound(); - return ApiResult.Ok(new SDxGetResponse(sdx); + return ApiResult.Ok(new SDxGetResponse([.. sdx]); } - return ApiResult.Ok(new SDxGetResponse(Database.SDxList.Select(s => s.ToClient()))); + return ApiResult.Ok(new SDxGetResponse([.. Database.SDxList.Select(s => s.ToClient())])); } ```