From 3cfd928f34c3997f6444ba36847b9b12e05bc5f6 Mon Sep 17 00:00:00 2001 From: sheepla <62412884+sheepla@users.noreply.github.com> Date: Sat, 2 May 2026 15:48:19 +0900 Subject: [PATCH 1/3] Create the tutorial project and update Quick Start on the docs --- docs/public/images/tutorial-scalar.png | Bin 0 -> 107673 bytes .../docs/getting-started/quick-start.mdx | 114 +++++++++++------ tests/AxisEndpoints.Example/Program.cs | 2 +- .../AxisEndpoints.Tests.csproj.lscache | 116 +++++++++--------- .../AxisEndpoints.Tutorial.csproj | 15 +++ .../AxisEndpoints.Tutorial.http | 6 + .../Features/Hello/HelloEndpoint.cs | 37 ++++++ tests/AxisEndpoints.Tutorial/Program.cs | 21 ++++ .../Properties/launchSettings.json | 23 ++++ tests/AxisEndpoints.Tutorial/README.md | 43 +++++++ .../appsettings.Development.json | 8 ++ tests/AxisEndpoints.Tutorial/appsettings.json | 9 ++ .../AxisEndpoints.Tutorial/assets/scalar.png | Bin 0 -> 107673 bytes 13 files changed, 299 insertions(+), 95 deletions(-) create mode 100644 docs/public/images/tutorial-scalar.png create mode 100644 tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.csproj create mode 100644 tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http create mode 100644 tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs create mode 100644 tests/AxisEndpoints.Tutorial/Program.cs create mode 100644 tests/AxisEndpoints.Tutorial/Properties/launchSettings.json create mode 100644 tests/AxisEndpoints.Tutorial/README.md create mode 100644 tests/AxisEndpoints.Tutorial/appsettings.Development.json create mode 100644 tests/AxisEndpoints.Tutorial/appsettings.json create mode 100644 tests/AxisEndpoints.Tutorial/assets/scalar.png diff --git a/docs/public/images/tutorial-scalar.png b/docs/public/images/tutorial-scalar.png new file mode 100644 index 0000000000000000000000000000000000000000..98298b5f71692529ccafa3892cb8a31077548966 GIT binary patch literal 107673 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 literal 0 HcmV?d00001 diff --git a/docs/src/content/docs/getting-started/quick-start.mdx b/docs/src/content/docs/getting-started/quick-start.mdx index 0ece881..bc6a466 100644 --- a/docs/src/content/docs/getting-started/quick-start.mdx +++ b/docs/src/content/docs/getting-started/quick-start.mdx @@ -1,32 +1,36 @@ --- title: "Quick Start" -description: "Set up AxisEndpoints in your ASP.NET Core project and create your first endpoint." +description: "Create a minimal AxisEndpoints project from scratch and verify it with Scalar." --- import { Steps } from '@astrojs/starlight/components'; -1. **Create a project** +1. **Create a new project** ```sh - dotnet new webapi -n MyApi - cd MyApi + dotnet new webapi -n AxisEndpoints.Tutorial + cd AxisEndpoints.Tutorial ``` -2. **Install AxisEndpoints** +2. **Install the packages** ```sh dotnet add package AxisEndpoints + dotnet add package Scalar.AspNetCore ``` -3. **Set up Program.cs** + `AxisEndpoints` provides endpoint discovery and mapping. `Scalar.AspNetCore` gives you a browser-based API reference so you can verify the endpoint immediately. - Update `Program.cs` as shown below. `AddAxisEndpoints()` scans the entry assembly and automatically registers every class that implements the `IEndpoint` interface in the DI container. `MapAxisEndpoints()` maps the registered endpoints to the Minimal API pipeline. +3. **Replace `Program.cs`** - Filter classes that implement `IEndpointFilter` are also registered automatically through assembly scanning. + Use the same minimal setup as [`tests/AxisEndpoints.Tutorial/Program.cs`](): + + `AddAxisEndpoints()` scans the entry assembly and registers endpoint classes in DI. `MapAxisEndpoints()` then maps those endpoints into the Minimal API pipeline. ```csharp using AxisEndpoints.Extensions; + using Scalar.AspNetCore; var builder = WebApplication.CreateBuilder(args); @@ -37,63 +41,101 @@ import { Steps } from '@astrojs/starlight/components'; app.MapOpenApi(); app.MapAxisEndpoints(); + app.MapScalarApiReference(); app.Run(); ``` -4. **Create your first endpoint** +4. **Add your first endpoint** + + Create `Features/Hello/HelloEndpoint.cs` and paste in the tutorial endpoint below. - Create a new class `CreateUserEndpoint` that implements `IEndpoint>` at `CreateUserEndpoint.cs`. This endpoint will handle POST requests to create a new user. + ```text + AxisEndpoints.Tutorial/ + |- Features/ + | \- Hello/ + | \- HelloEndpoint.cs + \- Program.cs + ``` ```csharp - public class CreateUserRequest + using AxisEndpoints; + + namespace AxisEndpoints.Tutorial.Features.Hello; + + public record HelloRequest { - public required string Name { get; init; } - public required string Email { get; init; } + public required string Name { get; set; } = string.Empty; } - public class CreateUserResponse + public record HelloResponse { - public required int Id { get; init; } + public required string Message { get; set; } = string.Empty; } - public class CreateUserEndpoint : IEndpoint> + public class HelloEndpoint(ILogger logger) + : IEndpoint> { - private readonly IUserRepository _repository; - - public CreateUserEndpoint(IUserRepository repository) => _repository = repository; - public void Configure(IEndpointConfiguration config) { - config.Post("/users") - .Tags("Users") - .Summary("Create a new user"); + config + .Get("/hello") + .Summary("Hello") + .Description("This endpoint takes a name as input and returns a greeting message."); } - public async Task> HandleAsync( - CreateUserRequest request, + public Task> HandleAsync( + HelloRequest request, CancellationToken cancel) { - var id = await _repository.CreateAsync(request.Name, request.Email, cancel); - - return new Response - { - StatusCode = HttpStatusCode.Created, - Headers = [("Location", $"/users/{id}")], - Body = new CreateUserResponse { Id = id }, - }; + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); + + return Task.FromResult( + new Response + { + Body = new HelloResponse { Message = $"Hello, {request.Name}!" }, + } + ); } } ``` -5. **Run and verify** + Because this is a `GET` endpoint, `HelloRequest.Name` is bound from the query string. A request to `/hello?name=Alice` will populate `request.Name` with `Alice`. + +5. **Run the app** ```sh dotnet run ``` - Send a POST request to `http://localhost:5000/users` to verify that the endpoint works. +6. **Verify the endpoint** + + Open the Scalar API reference at `http://localhost:5173/scalar` and try `GET /hello` with a `name` query parameter. + + You can also call the endpoint directly: + + ```sh + curl "http://localhost:5173/hello?name=Alice" + ``` + + The response should look like this: + + ```json + { + "message": "Hello, Alice!" + } + ``` -For more details on defining endpoints, see the [Defining Endpoints](/guides/defining-endpoints/) guide. +## What You Should See + +The tutorial project included in this repository uses the same setup and exposes the Scalar UI after startup. + +Scalar API reference showing the tutorial hello endpoint + +For more details on endpoint structure and request binding, see [Defining Endpoints](/guides/defining-endpoints/) and [Request Binding](/guides/request-binding/). diff --git a/tests/AxisEndpoints.Example/Program.cs b/tests/AxisEndpoints.Example/Program.cs index bb92a2b..1389e4b 100644 --- a/tests/AxisEndpoints.Example/Program.cs +++ b/tests/AxisEndpoints.Example/Program.cs @@ -18,7 +18,7 @@ if (app.Environment.IsDevelopment()) { app.MapOpenApi(); - // OpenAPI document available at /scalar/v1 + // OpenAPI document available at /scalar app.MapScalarApiReference(); } diff --git a/tests/AxisEndpoints.Tests/AxisEndpoints.Tests.csproj.lscache b/tests/AxisEndpoints.Tests/AxisEndpoints.Tests.csproj.lscache index adf0896..50c2596 100644 --- a/tests/AxisEndpoints.Tests/AxisEndpoints.Tests.csproj.lscache +++ b/tests/AxisEndpoints.Tests/AxisEndpoints.Tests.csproj.lscache @@ -54,7 +54,7 @@ TemporaryDependencyNodeTargetIdentifier=net10.0 /warnaserror+:NU1605,SYSLIB0011 [sourceFiles] -../../.dotnet-cli/.nuget/packages/microsoft.net.test.sdk/17.14.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.cs +/microsoft.net.test.sdk/17.14.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.cs Integration/ EndpointIntegrationTests.cs TestEndpoints.cs @@ -70,56 +70,6 @@ Unit/ ServiceRegistrationTests.cs [metadataReferences] -../../.dotnet-cli/.nuget/packages/ - fluentassertions/8.9.0/lib/net6.0/FluentAssertions.dll - microsoft.aspnetcore.mvc.testing/10.0.7/lib/net10.0/Microsoft.AspNetCore.Mvc.Testing.dll - microsoft.aspnetcore.openapi/10.0.0/lib/net10.0/Microsoft.AspNetCore.OpenApi.dll - microsoft.aspnetcore.testhost/10.0.7/lib/net10.0/Microsoft.AspNetCore.TestHost.dll - microsoft.codecoverage/17.14.1/lib/net8.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll - microsoft.extensions.configuration.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll - microsoft.extensions.configuration.binder/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll - microsoft.extensions.configuration.commandline/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.CommandLine.dll - microsoft.extensions.configuration.environmentvariables/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll - microsoft.extensions.configuration.fileextensions/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.dll - microsoft.extensions.configuration.json/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Json.dll - microsoft.extensions.configuration.usersecrets/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.UserSecrets.dll - microsoft.extensions.configuration/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.dll - microsoft.extensions.dependencyinjection.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll - microsoft.extensions.dependencyinjection/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyInjection.dll - microsoft.extensions.dependencymodel/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyModel.dll - microsoft.extensions.diagnostics.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll - microsoft.extensions.diagnostics/10.0.7/lib/net10.0/Microsoft.Extensions.Diagnostics.dll - microsoft.extensions.fileproviders.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll - microsoft.extensions.fileproviders.physical/10.0.7/lib/net10.0/Microsoft.Extensions.FileProviders.Physical.dll - microsoft.extensions.filesystemglobbing/10.0.7/lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.dll - microsoft.extensions.hosting.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll - microsoft.extensions.hosting/10.0.7/lib/net10.0/Microsoft.Extensions.Hosting.dll - microsoft.extensions.logging.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll - microsoft.extensions.logging.configuration/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll - microsoft.extensions.logging.console/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Console.dll - microsoft.extensions.logging.debug/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Debug.dll - microsoft.extensions.logging.eventlog/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.EventLog.dll - microsoft.extensions.logging.eventsource/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.EventSource.dll - microsoft.extensions.logging/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.dll - microsoft.extensions.options.configurationextensions/10.0.7/lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll - microsoft.extensions.options/10.0.7/lib/net10.0/Microsoft.Extensions.Options.dll - microsoft.extensions.primitives/10.0.7/lib/net10.0/Microsoft.Extensions.Primitives.dll - microsoft.openapi/2.0.0/lib/net8.0/Microsoft.OpenApi.dll - microsoft.testplatform.testhost/17.14.1/lib/net8.0/ - Microsoft.TestPlatform.CommunicationUtilities.dll - Microsoft.TestPlatform.CoreUtilities.dll - Microsoft.TestPlatform.CrossPlatEngine.dll - Microsoft.TestPlatform.PlatformAbstractions.dll - Microsoft.TestPlatform.Utilities.dll - Microsoft.VisualStudio.TestPlatform.Common.dll - Microsoft.VisualStudio.TestPlatform.ObjectModel.dll - testhost.dll - newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll - system.diagnostics.eventlog/10.0.7/lib/net10.0/System.Diagnostics.EventLog.dll - xunit.abstractions/2.0.3/lib/netstandard2.0/xunit.abstractions.dll - xunit.assert/2.9.3/lib/net6.0/xunit.assert.dll - xunit.extensibility.core/2.9.3/lib/netstandard1.1/xunit.core.dll - xunit.extensibility.execution/2.9.3/lib/netstandard1.1/xunit.execution.dotnet.dll ../../src/AxisEndpoints/obj/Debug/net10.0/ref/AxisEndpoints.dll /packs/Microsoft.AspNetCore.App.Ref/10.0.2/ref/net10.0/ Microsoft.AspNetCore.Antiforgery.dll @@ -402,15 +352,58 @@ Unit/ System.Xml.XPath.dll System.Xml.XPath.XDocument.dll WindowsBase.dll +/ + fluentassertions/8.9.0/lib/net6.0/FluentAssertions.dll + microsoft.aspnetcore.mvc.testing/10.0.7/lib/net10.0/Microsoft.AspNetCore.Mvc.Testing.dll + microsoft.aspnetcore.openapi/10.0.0/lib/net10.0/Microsoft.AspNetCore.OpenApi.dll + microsoft.aspnetcore.testhost/10.0.7/lib/net10.0/Microsoft.AspNetCore.TestHost.dll + microsoft.codecoverage/17.14.1/lib/net8.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll + microsoft.extensions.configuration.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll + microsoft.extensions.configuration.binder/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll + microsoft.extensions.configuration.commandline/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.CommandLine.dll + microsoft.extensions.configuration.environmentvariables/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll + microsoft.extensions.configuration.fileextensions/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.dll + microsoft.extensions.configuration.json/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.Json.dll + microsoft.extensions.configuration.usersecrets/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.UserSecrets.dll + microsoft.extensions.configuration/10.0.7/lib/net10.0/Microsoft.Extensions.Configuration.dll + microsoft.extensions.dependencyinjection.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll + microsoft.extensions.dependencyinjection/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyInjection.dll + microsoft.extensions.dependencymodel/10.0.7/lib/net10.0/Microsoft.Extensions.DependencyModel.dll + microsoft.extensions.diagnostics.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll + microsoft.extensions.diagnostics/10.0.7/lib/net10.0/Microsoft.Extensions.Diagnostics.dll + microsoft.extensions.fileproviders.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll + microsoft.extensions.fileproviders.physical/10.0.7/lib/net10.0/Microsoft.Extensions.FileProviders.Physical.dll + microsoft.extensions.filesystemglobbing/10.0.7/lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.dll + microsoft.extensions.hosting.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll + microsoft.extensions.hosting/10.0.7/lib/net10.0/Microsoft.Extensions.Hosting.dll + microsoft.extensions.logging.abstractions/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll + microsoft.extensions.logging.configuration/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll + microsoft.extensions.logging.console/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Console.dll + microsoft.extensions.logging.debug/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.Debug.dll + microsoft.extensions.logging.eventlog/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.EventLog.dll + microsoft.extensions.logging.eventsource/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.EventSource.dll + microsoft.extensions.logging/10.0.7/lib/net10.0/Microsoft.Extensions.Logging.dll + microsoft.extensions.options.configurationextensions/10.0.7/lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll + microsoft.extensions.options/10.0.7/lib/net10.0/Microsoft.Extensions.Options.dll + microsoft.extensions.primitives/10.0.7/lib/net10.0/Microsoft.Extensions.Primitives.dll + microsoft.openapi/2.0.0/lib/net8.0/Microsoft.OpenApi.dll + microsoft.testplatform.testhost/17.14.1/lib/net8.0/ + Microsoft.TestPlatform.CommunicationUtilities.dll + Microsoft.TestPlatform.CoreUtilities.dll + Microsoft.TestPlatform.CrossPlatEngine.dll + Microsoft.TestPlatform.PlatformAbstractions.dll + Microsoft.TestPlatform.Utilities.dll + Microsoft.VisualStudio.TestPlatform.Common.dll + Microsoft.VisualStudio.TestPlatform.ObjectModel.dll + testhost.dll + newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll + system.diagnostics.eventlog/10.0.7/lib/net10.0/System.Diagnostics.EventLog.dll + xunit.abstractions/2.0.3/lib/netstandard2.0/xunit.abstractions.dll + xunit.assert/2.9.3/lib/net6.0/xunit.assert.dll + xunit.extensibility.core/2.9.3/lib/netstandard1.1/xunit.core.dll + xunit.extensibility.execution/2.9.3/lib/netstandard1.1/xunit.execution.dotnet.dll [analyzerReferences] -../../.dotnet-cli/.nuget/packages/ - microsoft.aspnetcore.openapi/10.0.0/analyzers/dotnet/cs/Microsoft.AspNetCore.OpenApi.SourceGenerators.dll - microsoft.extensions.logging.abstractions/10.0.7/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll - microsoft.extensions.options/10.0.7/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll - xunit.analyzers/1.18.0/analyzers/dotnet/cs/ - xunit.analyzers.dll - xunit.analyzers.fixes.dll /packs/Microsoft.AspNetCore.App.Ref/10.0.2/analyzers/dotnet/cs/ Microsoft.AspNetCore.App.Analyzers.dll Microsoft.AspNetCore.App.CodeFixes.dll @@ -427,6 +420,13 @@ Unit/ /sdk/10.0.102/Sdks/Microsoft.NET.Sdk/analyzers/ Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll Microsoft.CodeAnalysis.NetAnalyzers.dll +/ + microsoft.aspnetcore.openapi/10.0.0/analyzers/dotnet/cs/Microsoft.AspNetCore.OpenApi.SourceGenerators.dll + microsoft.extensions.logging.abstractions/10.0.7/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll + microsoft.extensions.options/10.0.7/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll + xunit.analyzers/1.18.0/analyzers/dotnet/cs/ + xunit.analyzers.dll + xunit.analyzers.fixes.dll [analyzerConfigFiles] /sdk/10.0.102/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_10_default.globalconfig diff --git a/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.csproj b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.csproj new file mode 100644 index 0000000..baa2dad --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.csproj @@ -0,0 +1,15 @@ + + + + net10.0 + enable + enable + + + + + + + + + diff --git a/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http new file mode 100644 index 0000000..056f46e --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http @@ -0,0 +1,6 @@ +@AxisEndpoints.Tutorial_HostAddress = http://localhost:5173 + +GET {{AxisEndpoints.Tutorial_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs b/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs new file mode 100644 index 0000000..be7e0b4 --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs @@ -0,0 +1,37 @@ +using AxisEndpoints; + +namespace AxisEndpoints.Tutorial.Features.Hello; + +public record HelloRequest +{ + public required string Name { get; set; } = string.Empty; +} + +public record HelloResponse +{ + public required string Message { get; set; } = string.Empty; +} + +public class HelloEndpoint(ILogger logger) + : IEndpoint> +{ + public void Configure(IEndpointConfiguration config) + { + config + .Get("/hello") + .Summary("Hello") + .Description("This endpoint takes a name as input and returns a greeting message."); + } + + public Task> HandleAsync(HelloRequest request, CancellationToken cancel) + { + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); + + return Task.FromResult( + new Response + { + Body = new HelloResponse { Message = $"Hello, {request.Name}!" }, + } + ); + } +} diff --git a/tests/AxisEndpoints.Tutorial/Program.cs b/tests/AxisEndpoints.Tutorial/Program.cs new file mode 100644 index 0000000..e7b61bc --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/Program.cs @@ -0,0 +1,21 @@ +using AxisEndpoints.Extensions; +using Scalar.AspNetCore; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddOpenApi(); +builder.Services.AddAxisEndpoints(); + +var app = builder.Build(); + +// Maps the OpenAPI endpoint at /openapi.json +app.MapOpenApi(); + +// Maps all endpoints defined in the application, including HelloEndpoint, +// at their respective routes (e.g., /hello for HelloEndpoint) +app.MapAxisEndpoints(); + +// Maps the Scalar API reference endpoint at /scalar +app.MapScalarApiReference(); + +app.Run(); diff --git a/tests/AxisEndpoints.Tutorial/Properties/launchSettings.json b/tests/AxisEndpoints.Tutorial/Properties/launchSettings.json new file mode 100644 index 0000000..e24962e --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5173", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "https://localhost:7250;http://localhost:5173", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/tests/AxisEndpoints.Tutorial/README.md b/tests/AxisEndpoints.Tutorial/README.md new file mode 100644 index 0000000..1da80d8 --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/README.md @@ -0,0 +1,43 @@ +# AxisEndpoints Quick Tutorial + +This project is a quick tutorial for trying out AxisEndpoints. + +## Requirements + +.NET SDK 10.0 or later is required to run this project. You can download it from the official .NET website: + +> [Download .NET SDK](https://dotnet.microsoft.com/download) + +## Getting Started + +First, create a new ASP.NET Core Web API project and add the AxisEndpoints package: + +```sh +# Create a new directory and navigate into it +mkdir AxisEndpoints.Tutorial +cd AxisEndpoints.Tutorial + +# Create a new ASP.NET Core Web API project +dotnet new webapi + +# Add the AxisEndpoints package +dotnet add package AxisEndpoints +``` + +Next, if you want to use the Scalar API reference, add the `Scalar.AspNetCore` package: + +```sh +# Add the Scalar.AspNetCore package (optional) +dotnet add package Scalar.AspNetCore +``` + +Then, configure the application to use AxisEndpoints in `Program.cs`: + +Next, create a new endpoint by adding a new class `HelloEndpoint.cs` in the `Features/Hello` directory: + + +To run the application, execute `dotnet run` in the terminal. + +Scalar API reference is available at `http://localhost:{port}/scalar` after running the application. + +![Scalar API Reference](./assets/scalar.png) \ No newline at end of file diff --git a/tests/AxisEndpoints.Tutorial/appsettings.Development.json b/tests/AxisEndpoints.Tutorial/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/tests/AxisEndpoints.Tutorial/appsettings.json b/tests/AxisEndpoints.Tutorial/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/tests/AxisEndpoints.Tutorial/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/tests/AxisEndpoints.Tutorial/assets/scalar.png b/tests/AxisEndpoints.Tutorial/assets/scalar.png new file mode 100644 index 0000000000000000000000000000000000000000..98298b5f71692529ccafa3892cb8a31077548966 GIT binary patch literal 107673 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 literal 0 HcmV?d00001 From b50eb16c2a37a029a5445e6fa3a5ba57600545d8 Mon Sep 17 00:00:00 2001 From: sheepla <62412884+sheepla@users.noreply.github.com> Date: Sat, 2 May 2026 15:59:15 +0900 Subject: [PATCH 2/3] Update code snippets in index.mdx --- docs/src/content/docs/index.mdx | 76 ++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 30 deletions(-) diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 1055f5c..b1806b9 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -14,38 +14,50 @@ hero: variant: minimal --- -import { Card, CardGrid } from '@astrojs/starlight/components'; +import { Card, CardGrid } from "@astrojs/starlight/components"; ## About **AxisEndpoints** is a DSL for implementing the Request-Endpoint-Response (REPR) pattern in ASP.NET Core. It consolidates each API endpoint into a self-contained class with a clear, explicit programming interface. ```csharp -public class CreateUserEndpoint : IEndpoint> +using AxisEndpoints; + +namespace AxisEndpoints.Tutorial.Features.Hello; + +public record HelloRequest { - private readonly IUserRepository _repository; + public required string Name { get; set; } = string.Empty; +} - public CreateUserEndpoint(IUserRepository repository) => _repository = repository; +public record HelloResponse +{ + public required string Message { get; set; } = string.Empty; +} +public class HelloEndpoint(ILogger logger) + : IEndpoint> +{ public void Configure(IEndpointConfiguration config) { - config.Post("/users") - .Tags("Users") - .Summary("Create a new user"); + config + .Get("/hello") + .Summary("Hello") + .Description("This endpoint takes a name as input and returns a greeting message."); } - public async Task> HandleAsync( - CreateUserRequest request, + public Task> HandleAsync( + HelloRequest request, CancellationToken cancel) { - var id = await _repository.CreateAsync(request.Name, request.Email, cancel); - - return new Response - { - StatusCode = HttpStatusCode.Created, - Headers = [("Location", $"/users/{id}")], - Body = new CreateUserResponse { Id = id }, - }; + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); + + return Task.FromResult( + new Response + { + Body = new HelloResponse { Message = $"Hello, {request.Name}!" }, + } + ); } } ``` @@ -65,7 +77,7 @@ ASP.NET Core offers three approaches to building Web APIs. Each involves differe | | Minimal API | Controller | REPR Pattern (AxisEndpoints) | | ------------------- | --------------------------------------------- | ------------------------------------------- | ---------------------------------------------- | | **Structure** | Functions registered inline | Methods grouped in a class | One class per endpoint | -| **Scalability** | ⚠ Can become hard to manage as endpoints grow | ⚠ Controllers can grow bloated over time | ✅ Each endpoint stays self-contained | +| **Scalability** | ⚠ Can become hard to manage as endpoints grow | ⚠ Controllers can grow bloated over time | ✅ Each endpoint stays self-contained | | **Coupling** | Low — but no enforced structure | Medium — CRUD operations share a controller | Low — slices are independent by design | | **Learning curve** | Low | Medium (MVC conventions) | Medium (built on Minimal API) | | **Best suited for** | Small services, prototypes | CRUD-heavy APIs familiar to MVC developers | Feature-rich APIs, Vertical Slice Architecture | @@ -82,16 +94,20 @@ To implement the REPR pattern in ASP.NET Core, you can either write a thin wrapp ## Next steps - - Get AxisEndpoints installed in your project. See the [Installation guide](/getting-started/installation/). - - - Learn how to define endpoints, bind requests, handle responses, and more. See the [Guides](/guides/defining-endpoints/). - - - Add typed CSV import and export to your endpoints with the optional CsvHelper extension. See the [CSV Helper extension](/extensions/csv-helper/). - - - Find answers to common questions in the [FAQ](/faq/). - + + Get AxisEndpoints installed in your project. See the [Installation + guide](/getting-started/installation/). + + + Learn how to define endpoints, bind requests, handle responses, and more. + See the [Guides](/guides/defining-endpoints/). + + + Add typed CSV import and export to your endpoints with the optional + CsvHelper extension. See the [CSV Helper + extension](/extensions/csv-helper/). + + + Find answers to common questions in the [FAQ](/faq/). + From 443b13d06d4ca802de5699036547fabc48158ab1 Mon Sep 17 00:00:00 2001 From: sheepla <62412884+sheepla@users.noreply.github.com> Date: Sat, 2 May 2026 16:31:39 +0900 Subject: [PATCH 3/3] Fix tutorial project review feedback --- .../docs/getting-started/quick-start.mdx | 30 +++-- .../AxisEndpoints.Tutorial.http | 2 +- .../Features/Hello/HelloEndpoint.cs | 26 ++++- tests/AxisEndpoints.Tutorial/README.md | 106 ++++++++++++++---- 4 files changed, 126 insertions(+), 38 deletions(-) diff --git a/docs/src/content/docs/getting-started/quick-start.mdx b/docs/src/content/docs/getting-started/quick-start.mdx index bc6a466..1dfaf3b 100644 --- a/docs/src/content/docs/getting-started/quick-start.mdx +++ b/docs/src/content/docs/getting-started/quick-start.mdx @@ -24,7 +24,7 @@ import { Steps } from '@astrojs/starlight/components'; 3. **Replace `Program.cs`** - Use the same minimal setup as [`tests/AxisEndpoints.Tutorial/Program.cs`](): + Use the same minimal setup as [`tests/AxisEndpoints.Tutorial/Program.cs`](https://github.com/sheepla/AxisEndpoints/blob/master/tests/AxisEndpoints.Tutorial/Program.cs): `AddAxisEndpoints()` scans the entry assembly and registers endpoint classes in DI. `MapAxisEndpoints()` then maps those endpoints into the Minimal API pipeline. @@ -60,6 +60,7 @@ import { Steps } from '@astrojs/starlight/components'; ```csharp using AxisEndpoints; + using System.Net; namespace AxisEndpoints.Tutorial.Features.Hello; @@ -73,28 +74,39 @@ import { Steps } from '@astrojs/starlight/components'; public required string Message { get; set; } = string.Empty; } - public class HelloEndpoint(ILogger logger) - : IEndpoint> + public class HelloEndpoint(ILogger logger) : IEndpoint { public void Configure(IEndpointConfiguration config) { config .Get("/hello") + .ProducesSuccess() + .ProducesError(HttpStatusCode.BadRequest) .Summary("Hello") .Description("This endpoint takes a name as input and returns a greeting message."); } - public Task> HandleAsync( + public Task HandleAsync( HelloRequest request, CancellationToken cancel) { + if (string.IsNullOrWhiteSpace(request.Name)) + { + logger.LogWarning("Rejected request to /hello because the name was missing."); + return Task.FromResult(Results.Problem( + title: "Name is required", + detail: "Provide a non-empty name query parameter.", + statusCode: StatusCodes.Status400BadRequest + )); + } + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); return Task.FromResult( - new Response + Results.Json(new HelloResponse { - Body = new HelloResponse { Message = $"Hello, {request.Name}!" }, - } + Message = $"Hello, {request.Name}!" + }) ); } } @@ -110,12 +122,12 @@ import { Steps } from '@astrojs/starlight/components'; 6. **Verify the endpoint** - Open the Scalar API reference at `http://localhost:5173/scalar` and try `GET /hello` with a `name` query parameter. + Open the Scalar API reference at `http://localhost:{port}/scalar` and try `GET /hello` with a `name` query parameter. You can also call the endpoint directly: ```sh - curl "http://localhost:5173/hello?name=Alice" + curl "http://localhost:{port}/hello?name=Alice" ``` The response should look like this: diff --git a/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http index 056f46e..1d1bf68 100644 --- a/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http +++ b/tests/AxisEndpoints.Tutorial/AxisEndpoints.Tutorial.http @@ -1,6 +1,6 @@ @AxisEndpoints.Tutorial_HostAddress = http://localhost:5173 -GET {{AxisEndpoints.Tutorial_HostAddress}}/weatherforecast/ +GET {{AxisEndpoints.Tutorial_HostAddress}}/hello?name=Alice Accept: application/json ### diff --git a/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs b/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs index be7e0b4..4306cba 100644 --- a/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs +++ b/tests/AxisEndpoints.Tutorial/Features/Hello/HelloEndpoint.cs @@ -1,3 +1,4 @@ +using System.Net; using AxisEndpoints; namespace AxisEndpoints.Tutorial.Features.Hello; @@ -12,26 +13,39 @@ public record HelloResponse public required string Message { get; set; } = string.Empty; } -public class HelloEndpoint(ILogger logger) - : IEndpoint> +public class HelloEndpoint(ILogger logger) : IEndpoint { public void Configure(IEndpointConfiguration config) { config .Get("/hello") + .ProducesSuccess() + .ProducesError(HttpStatusCode.BadRequest) .Summary("Hello") .Description("This endpoint takes a name as input and returns a greeting message."); } - public Task> HandleAsync(HelloRequest request, CancellationToken cancel) + public Task HandleAsync(HelloRequest request, CancellationToken cancel) { + if (string.IsNullOrWhiteSpace(request.Name)) + { + logger.LogWarning("Rejected request to /hello because the name was missing."); + return Task.FromResult( + Results.Problem( + title: "Name is required", + detail: "Provide a non-empty name query parameter.", + statusCode: StatusCodes.Status400BadRequest + ) + ); + } + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); return Task.FromResult( - new Response + Results.Json(new HelloResponse { - Body = new HelloResponse { Message = $"Hello, {request.Name}!" }, - } + Message = $"Hello, {request.Name}!", + }) ); } } diff --git a/tests/AxisEndpoints.Tutorial/README.md b/tests/AxisEndpoints.Tutorial/README.md index 1da80d8..75a8caa 100644 --- a/tests/AxisEndpoints.Tutorial/README.md +++ b/tests/AxisEndpoints.Tutorial/README.md @@ -1,43 +1,105 @@ # AxisEndpoints Quick Tutorial -This project is a quick tutorial for trying out AxisEndpoints. +This project is a minimal tutorial for trying out AxisEndpoints with Scalar API reference. ## Requirements -.NET SDK 10.0 or later is required to run this project. You can download it from the official .NET website: +You need .NET SDK 10.0 or later. -> [Download .NET SDK](https://dotnet.microsoft.com/download) - -## Getting Started - -First, create a new ASP.NET Core Web API project and add the AxisEndpoints package: +## Start From Scratch ```sh -# Create a new directory and navigate into it mkdir AxisEndpoints.Tutorial cd AxisEndpoints.Tutorial - -# Create a new ASP.NET Core Web API project dotnet new webapi - -# Add the AxisEndpoints package dotnet add package AxisEndpoints +dotnet add package Scalar.AspNetCore ``` -Next, if you want to use the Scalar API reference, add the `Scalar.AspNetCore` package: +## Program.cs -```sh -# Add the Scalar.AspNetCore package (optional) -dotnet add package Scalar.AspNetCore -``` +```csharp +using AxisEndpoints.Extensions; +using Scalar.AspNetCore; -Then, configure the application to use AxisEndpoints in `Program.cs`: +var builder = WebApplication.CreateBuilder(args); -Next, create a new endpoint by adding a new class `HelloEndpoint.cs` in the `Features/Hello` directory: +builder.Services.AddOpenApi(); +builder.Services.AddAxisEndpoints(); +var app = builder.Build(); -To run the application, execute `dotnet run` in the terminal. +app.MapOpenApi(); +app.MapAxisEndpoints(); +app.MapScalarApiReference(); + +app.Run(); +``` + +## HelloEndpoint.cs + +Create `Features/Hello/HelloEndpoint.cs` with the following content: + +```csharp +using AxisEndpoints; +using System.Net; + +namespace AxisEndpoints.Tutorial.Features.Hello; + +public record HelloRequest +{ + public required string Name { get; set; } = string.Empty; +} + +public record HelloResponse +{ + public required string Message { get; set; } = string.Empty; +} + +public class HelloEndpoint(ILogger logger) : IEndpoint +{ + public void Configure(IEndpointConfiguration config) + { + config + .Get("/hello") + .ProducesSuccess() + .ProducesError(HttpStatusCode.BadRequest) + .Summary("Hello") + .Description("This endpoint takes a name as input and returns a greeting message."); + } + + public Task HandleAsync(HelloRequest request, CancellationToken cancel) + { + if (string.IsNullOrWhiteSpace(request.Name)) + { + logger.LogWarning("Rejected request to /hello because the name was missing."); + return Task.FromResult( + Results.Problem( + title: "Name is required", + detail: "Provide a non-empty name query parameter.", + statusCode: StatusCodes.Status400BadRequest + ) + ); + } + + logger.LogInformation("Received request to /hello with name: {Name}", request.Name); + + return Task.FromResult( + Results.Json(new HelloResponse + { + Message = $"Hello, {request.Name}!", + }) + ); + } +} +``` + +## Run It + +```sh +dotnet run +``` -Scalar API reference is available at `http://localhost:{port}/scalar` after running the application. +Open the Scalar API reference at `http://localhost:{port}/scalar`, then try `GET /hello?name=Alice`. -![Scalar API Reference](./assets/scalar.png) \ No newline at end of file +![Scalar API Reference](./assets/scalar.png)