mcpField
A
aspnet-minimal-api-openapi

aspnet-minimal-api-openapi

github.com/midudevDevelopment7.0k57 installsUpdated 2w ago
Repository

About aspnet-minimal-api-openapi

aspnet-minimal-api-openapi is a skill for creating well-structured ASP.NET Minimal API endpoints with typed request and response models and OpenAPI documentation. It covers endpoint organization, validation, response typing, and document customization.

Key features

  1. 01Group endpoints with MapGroup()
  2. 02Define typed request and response models
  3. 03Apply validation and standard error responses
  4. 04Use TypedResults for typed responses
  5. 05Document and customize OpenAPI schemas

Use cases

  1. 01Structuring related Minimal API endpoints
  2. 02Designing validated API request and response DTOs
  3. 03Adding operation details and identifiers to OpenAPI
  4. 04Customizing OpenAPI documents and schemas

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/midudev/autoskills --skill aspnet-minimal-api-openapi

After installing, type/aspnet-minimal-api-openapiin Claude Code to confirm it loaded.

Details

From the project README

ASP.NET Minimal API with OpenAPI

Your goal is to help me create well-structured ASP.NET Minimal API endpoints with correct types and comprehensive OpenAPI/Swagger documentation.

API Organization

  • Group related endpoints using MapGroup() extension
  • Use endpoint filters for cross-cutting concerns
  • Structure larger APIs with separate endpoint classes
  • Consider using a feature-based folder structure for complex APIs

Request and Response Types

  • Define explicit request and response DTOs/models
  • Create clear model classes with proper validation attributes
  • Use record types for immutable request/response objects
  • Use meaningful property names that align with API design standards
  • Apply [Required] and other validation attributes to enforce constraints
  • Use the ProblemDetailsService and StatusCodePages to get standard error responses

Type Handling

  • Use strongly-typed route parameters with explicit type binding
  • Use Results<T1, T2> to represent multiple response types
  • Return TypedResults instead of Results for strongly-typed responses
  • Leverage C# 10+ features like nullable annotations and init-only properties

OpenAPI Documentation

  • Use the built-in OpenAPI document support added in .NET 9
  • Define operation summary and description
  • Add operationIds using the WithName extension method
  • Add descriptions to properties and parameters with [Description()]
  • Set proper content types for requests and responses
  • Use document transformers to add elements like servers, tags, and security schemes
  • Use schema transformers to apply customizations to OpenAPI schemas

Comments

Markdown supported