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 to Siderite Cancel reply