awesome-copilot/prompts/aspnet-minimal-api-openapi.prompt.md
CypherHK 2b45ca4e8b
feat: update deprecated tool names to namespaced versions (#365)
- Replace 'codebase' with 'search/codebase'
- Replace 'searchResults' with 'search/searchResults'
- Replace 'terminalLastCommand' with 'runCommands/terminalLastCommand'
- Replace 'terminalSelection' with 'runCommands/terminalSelection'

Updated files:
- 13 chatmode files in chatmodes/
- 41 prompt files in prompts/

This update aligns with VS Code's latest tool naming conventions that organize tools into logical namespaces.
2025-10-30 09:29:27 +11:00

43 lines
1.8 KiB
Markdown

---
mode: 'agent'
tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems']
description: 'Create ASP.NET Minimal API endpoints with proper OpenAPI documentation'
---
# 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