mcpField
A
aspnet-minimal-api-openapi

aspnet-minimal-api-openapi

github.com/midudev开发7.0k57 次安装2 周前更新
代码仓库

关于 aspnet-minimal-api-openapi

aspnet-minimal-api-openapi 是用于构建结构清晰的 ASP.NET Minimal API 端点的技能,涵盖类型化请求与响应模型及 OpenAPI 文档。内容包括端点组织、验证、响应类型和文档定制。

主要功能

  1. 01使用 MapGroup() 分组端点
  2. 02定义类型化请求与响应模型
  3. 03应用验证和标准错误响应
  4. 04使用 TypedResults 返回类型化响应
  5. 05编写并定制 OpenAPI 模式

适用场景

  1. 01组织相关的 Minimal API 端点
  2. 02设计经过验证的 API 请求和响应 DTO
  3. 03为 OpenAPI 添加操作说明和标识符
  4. 04定制 OpenAPI 文档和模式

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/aspnet-minimal-api-openapi确认已加载。

详细介绍

使用 OpenAPI 的 ASP.NET Minimal API

你的目标是帮助我创建结构良好、类型正确、具备完整 OpenAPI/Swagger 文档的 ASP.NET Minimal API 端点。

API 组织

  • 使用 MapGroup() 扩展方法对相关端点进行分组
  • 使用端点筛选器处理横切关注点
  • 使用独立的端点类来组织较大的 API
  • 对于复杂的 API,考虑采用基于功能的文件夹结构

请求和响应类型

  • 定义显式的请求和响应 DTO/模型
  • 创建带有适当验证特性的清晰模型类
  • 对不可变的请求/响应对象使用 record 类型
  • 使用符合 API 设计标准的有意义的属性名称
  • 应用 [Required] 和其他验证特性来强制实施约束
  • 使用 ProblemDetailsService 和 StatusCodePages 获得标准错误响应

类型处理

  • 使用具有显式类型绑定的强类型路由参数
  • 使用 Results<T1, T2> 表示多种响应类型
  • 返回 TypedResults 而不是 Results,以获得强类型响应
  • 利用 C# 10+ 功能,如可空注释和 init-only 属性

OpenAPI 文档

  • 使用 .NET 9 中新增的内置 OpenAPI 文档支持
  • 定义操作摘要和描述
  • 使用 WithName 扩展方法添加 operationIds
  • 使用 [Description()] 为属性和参数添加描述
  • 为请求和响应设置适当的内容类型
  • 使用文档转换器添加服务器、标记和安全方案等元素
  • 使用架构转换器将自定义项应用于 OpenAPI 架构

评论

支持 Markdown