Claude-skill-registry api-setup

Configure affolterNET.Web.Api service registration and middleware pipeline. Use when setting up AddApiServices, ConfigureApiApp, or configuring the API middleware order.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/api-setup" ~/.claude/skills/majiayu000-claude-skill-registry-api-setup && rm -rf "$T"
manifest: skills/data/api-setup/SKILL.md
source content

API Setup

Configure the affolterNET.Web.Api service registration and middleware pipeline.

For complete reference, see Library Guide.

Quick Start

// Program.cs
var builder = WebApplication.CreateBuilder(args);

// Step 1: Register services
var options = builder.Services.AddApiServices(
    builder.Environment.IsDevelopment(),
    builder.Configuration,
    opts => {
        opts.EnableSecurityHeaders = true;
        opts.ConfigureApi = api => {
            api.AuthMode = AuthenticationMode.Authorize;
        };
    });

var app = builder.Build();

// Step 2: Configure middleware
app.ConfigureApiApp(options);

app.Run();

Configuration Options

ApiAppOptions

PropertyTypeDescription
EnableSecurityHeaders
boolEnable security headers middleware
ConfigureApi
Action<ApiOptions>Configure API-specific options
ConfigureAfterRoutingCustomMiddleware
Action<IApplicationBuilder>Add custom middleware after routing
ConfigureBeforeEndpointsCustomMiddleware
Action<IApplicationBuilder>Add custom middleware before endpoints

ApiOptions

PropertyTypeDefaultDescription
AuthMode
AuthenticationMode
None
Authentication mode (None/Authenticate/Authorize)

Middleware Pipeline

The

ConfigureApiApp
configures middleware in this order:

  1. Security Headers Middleware
  2. Swagger/OpenAPI
  3. Routing
  4. Custom Middleware (after routing hook)
  5. CORS
  6. Authentication & Authorization + RPT Middleware
  7. Custom Middleware (before endpoints hook)
  8. Endpoint Mapping (with Health Checks)

Common Patterns

Development vs Production

var options = builder.Services.AddApiServices(
    builder.Environment.IsDevelopment(),  // isDev flag
    builder.Configuration,
    opts => {
        // Development-specific config happens automatically
        // based on isDev flag
    });

Adding Custom Middleware

var options = builder.Services.AddApiServices(isDev, config, opts => {
    opts.ConfigureAfterRoutingCustomMiddleware = app => {
        app.UseMiddleware<RequestLoggingMiddleware>();
    };
    opts.ConfigureBeforeEndpointsCustomMiddleware = app => {
        app.UseMiddleware<TenantMiddleware>();
    };
});