| name | net-web-api |
|---|---|
| description | Scaffold and configure ASP.NET Core Web API with best practices |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience": ".net-developers", "framework": "aspnetcore", "version": "8.0"} |
What I Do
I help you create production-ready ASP.NET Core Web API projects with: - Clean architecture structure - Proper dependency injection - Swagger/OpenAPI documentation - Global exception handling - Request/response logging - API versioning - Health checks - CORS configuration
When to Use Me
Use this skill when: - Creating a new Web API project - Setting up API infrastructure - Adding middleware and filters - Configuring API best practices
What I Create
Project Structure:
src/{ProjectName}.Api/
├── Controllers/
├── Filters/
│ ├── GlobalExceptionFilter.cs
│ ├── ValidationFilter.cs
│ └── ApiKeyFilter.cs
├── Middleware/
│ ├── RequestLoggingMiddleware.cs
│ └── ErrorHandlingMiddleware.cs
├── Extensions/
│ ├── ServiceCollectionExtensions.cs
│ └── ApplicationBuilderExtensions.cs
├── Models/
│ └── ErrorResponse.cs
├── Program.cs
└── appsettings.json
Key Features:
- Program.cs configured with:
- Controllers and minimal APIs
- Swagger/OpenAPI
- Health checks
- CORS
- Global exception handling
- Request validation
- API versioning
GlobalExceptionFilter.cshandles exceptionsValidationFilter.csvalidates requestsRequestLoggingMiddleware.cslogs requests/responses
Best Practices I Follow
- Use minimal APIs for simple endpoints
- Implement proper HTTP status codes
- Validate all inputs
- Use DTOs for API models
- Implement proper error responses
- Add XML comments for Swagger
- Configure health checks
- Use API versioning from start
Example Usage
Create a new ASP.NET Core Web API project with:
- Swagger/OpenAPI documentation
- Health checks endpoint
- Global exception handling
- Request validation
- API versioning
- CORS configuration
I will generate all necessary files following .NET 8 best practices.