SuperAPI AI 工具集

web-api

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:在 ASP.NET Core 项目中构建或维护基于控制器的 Web API,适用于需要控制器约定、控制器级扩展、高级模型绑定、验证扩展或 OData 等控制器专属能力的场景,而非仅为沿用旧模板。触发场景包括处理基于控制器的 API、需要控制器专属扩展或约定、迁移或评审既有控制器与过滤器。

主要能力与工作流:仅在确有控制器中心特性需求时使用控制器;保持控制器精简,将 HTTP 关注点映射到应用服务或处理器,避免在 action 中直接嵌入数据访问与业务规则;使用清晰 DTO 边界、显式验证与可预测的 HTTP 状态行为;在控制器与端点两个层面审查认证与授权;让 OpenAPI 生成、版本控制与错误契约保持有意设计;新简单 API 可优先考虑 minimal-apis,而非习惯性默认控制器。

用法要点(资料提供示例):控制器结构可用 C# 12 主构造函数注入依赖,配合 [ApiController]、[Route("api/[controller]")],并通过 [ProducesResponseType] 声明响应类型;模型绑定可显式声明 [FromRoute]、[FromQuery]、[FromHeader(Name = "X-Correlation-Id")] 等来源,请求 DTO 可用 required 成员的 record;验证可选用 FluentValidation 编写复杂规则,并通过 ApiBehaviorOptions.InvalidModelStateResponseFactory 统一 Problem Details;版本控制可配置 AddApiVersioning 与 UrlSegmentApiVersionReader,使用 [ApiVersion("1.0")] 与路由 api/v{version:apiVersion}/products;异常处理可实现 IExceptionHandler 统一返回 ProblemDetails。

交付与校验:交付显式契约与策略的控制器 API、减少控制器臃肿、为关键 API 行为补充测试或冒烟检查;验证控制器特性确有依据、action 不隐藏业务逻辑与持久化细节、各端点 HTTP 语义保持一致。

限制:资料未提供该技能的具体安装方式、收费信息、支持平台或运行环境要求,均暂未提供。分类依据其明确的 ASP.NET Core API 开发用途。