Pilz.Net aktualisieren

2024-10-17 09:40:01 +00:00
parent 613cfc2f0f
commit 65b9707122

@@ -25,10 +25,10 @@ Creating a request can be done with the asyncron `IApiClient.MakeRequest()` and
```cs
// Run asyncron
var result = await client.SendRequest<SDxResponse>("/sdx/get");
var result = await client.SendRequest<SDxGetResponse>("/sdx/get");
// Run syncron
var result = client.SendRequest<SDxResponse>("/sdx/get").Result;
var result = client.SendRequest<SDxGetResponse>("/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<T>()` method.
<details>
<summary>Example messages</summay>
```cs
public class SDxGetRequest(int id)
{
public int Id { get; } = id;
}
public class SDxGetResponse(List<SDx> sdx)
{
public List<SDx> SDx { get; } = sdx;
}
```
</details>
## 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())]));
}
```