mcpField
A
aspnet-minimal-api-openapi

aspnet-minimal-api-openapi

github.com/github开发40.5k9.2k 次安装1 天前更新
代码仓库

关于 aspnet-minimal-api-openapi

面向 ASP.NET Minimal API 开发者的指导技能,涵盖端点组织、类型安全和 OpenAPI 文档,适用于构建结构清晰且具备验证机制的 API。

主要功能

  1. 01使用 MapGroup() 组织端点
  2. 02定义经过验证的请求和响应 DTO
  3. 03采用强类型结果
  4. 04通过 OpenAPI 描述操作与模式

适用场景

  1. 01组织不断扩展的 Minimal API
  2. 02添加类型明确的请求与响应模型
  3. 03为 Swagger 编写 API 操作文档

安装

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

$npx skills add https://github.com/github/awesome-copilot --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