Setup generators like Mvc

This commit is contained in:
2024-09-25 18:49:02 +02:00
parent 43f78ddb9c
commit 0ad74f1a77
13 changed files with 416 additions and 505 deletions
@@ -4,7 +4,11 @@ public static class Builder
{
public static void Build()
{
EndpointRouteBuilder builder = new EndpointRouteBuilder();
builder.MapGetSimpleRoute();
var builder = WebApplication.CreateSlimBuilder();
builder.WithRoutes();
var app = builder.Build();
app.UseRoutes();
}
}
@@ -1,13 +0,0 @@
namespace Net.Sdk.Web.Extensions.SourceGenerators.Tests;
public class EndpointRouteBuilder : IEndpointRouteBuilder
{
public IServiceProvider ServiceProvider { get; }
public ICollection<EndpointDataSource> DataSources { get; }
public IApplicationBuilder CreateApplicationBuilder()
{
throw new NotImplementedException();
}
}
@@ -1,19 +1,17 @@
using Net.Sdk.Web.Extensions.SourceGenerators.Tests.Filters;
using Microsoft.AspNetCore.Mvc;
using Net.Sdk.Web.Extensions.SourceGenerators.Tests.Filters;
using Net.Sdk.Web.Extensions.SourceGenerators.Tests.Models;
namespace Net.Sdk.Web.Extensions.SourceGenerators.Tests.Routes;
[GenerateMapGet(Pattern = "simple")]
[GenerateRoute(Pattern = "simple")]
[RouteFilter(RouteFilterType = typeof(SimpleFilter))]
public sealed class SimpleRoute : IRoute<SimpleRequest>
[RouteFilter(RouteFilterType = typeof(SimpleFilter))]
public sealed class SimpleRoute
{
public Task<Response> HandleRequest(SimpleRequest? request, CancellationToken cancellationToken)
[GenerateMapGet(Pattern = "get/{api}/{id}")]
public async Task<IResult> GetSimple(string api, string id, [FromBody] SimpleRequest reques)
{
throw new NotImplementedException();
}
public Task<SimpleRequest?> PreProcess(HttpContext? context, CancellationToken cancellationToken)
{
throw new NotImplementedException();
return Results.Ok();
}
}
@@ -0,0 +1,11 @@
namespace Net.Sdk.Web.Extensions.SourceGenerators.Tests.Routes;
[GenerateRoute]
public class SimpleRoute2
{
[GenerateMapPost(Pattern = "somethingSimple")]
public async Task<IResult> GetSomething()
{
}
}