So let’s start the implementation for user / error / environment.
The only difficulty resides in the fact that IEndpointRouteBuilder is not defined into a usual library,but the dll csproj must contain
<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>
Otherwise,it is work as usual. For example,for seeing a user
public static void MapUser(this IEndpointRouteBuilder route) { ArgumentNullException.ThrowIfNull(route); route.MapGet("api/usefull/user/",(HttpContext httpContext) => { return Results.Ok(httpContext.User?.Identity?.Name); }).RequiresAuthorization(); }
More difficult was for Environment – that is a Static class. Hopefully,there is a NUGET for this – https://www.nuget.org/packages/rscg_static – that allows to generate an interface from a static class. So I have added this
<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>
And code for generating the interface
public partial class Helper { public partial ISystem_Environment FromStaticEnvironment(); }
So,when I want to get the values from Environment,I use this
public static void MapUsefullEnvironment(this IEndpointRouteBuilder route,string? corsPolicy = null,string[]? authorization = null) { ArgumentNullException.ThrowIfNull(route); var rh=route.MapGet("api/usefull/environment/",(HttpContext httpContext) => { return Results.Ok(new Helper().FromStaticEnvironment()); }); rh.AddDefault(corsPolicy,authorization); }
You can see
-
as Swagger at https://netcoreusefullendpoints.azurewebsites.net/swagger
-
As BlocklyAutomation at https://netcoreusefullendpoints.azurewebsites.net/BlocklyAutomation
-
As package at https://www.nuget.org/packages/NetCoreUsefullEndpoints
Leave a Reply