用途
该技能用于 ASP.NET Core API 开发,覆盖 Minimal APIs、控制器、中间件、OpenAPI 以及相关最佳实践。资料以代码示例形式给出,可作为开发 ASP.NET Core API 时的参考。
主要能力
- Minimal APIs(推荐 .NET 10):通过
MapGroup进行端点分组,示例中定义了/api/products分组并设置标签与授权要求,包含 GetAll、GetById、Create、Update、Delete 等端点。 - Program.cs 注册:示例展示
AddOpenApi、AddOutputCache、AddRateLimiter(固定窗口限流)以及UseOutputCache、UseRateLimiter、MapOpenApi和端点映射的注册方式。 - 中间件管道:给出请求经过的管道顺序示例,包括异常处理、HSTS、HTTPS 重定向、静态文件、路由、CORS、认证、授权、输出缓存、限流与端点。
- 自定义中间件:提供
RequestTimingMiddleware示例,记录请求方法与路径的耗时。 - 端点过滤器:提供
ValidationFilter<T>示例,通过IValidator<T>校验模型并返回验证问题。 - OpenAPI / Swagger:展示 .NET 10 内置 OpenAPI 的文档转换器配置,以及
MapOpenApi与MapScalarApiReference的用法。 - 错误处理:使用
AddProblemDetails与UseExceptionHandler实现全局异常处理,按异常类型返回对应的 ProblemDetails。 - 限流:涵盖固定窗口、滑动窗口、令牌桶、并发四种限流器,支持自定义拒绝响应、按 API Key 分区与分级限流。
- 依赖注入模式:介绍 Transient、Scoped、Singleton 生命周期,工厂注册、键控服务(Keyed services)以及扩展方法注册模式。
- Native AOT 支持:使用
CreateSlimBuilder、JSON 源生成器与PublishAot配置。 - Options 模式:将配置绑定到强类型类,支持数据注解校验与
ValidateOnStart快速失败。
使用方式
资料以代码片段形式呈现,可直接参考其中的写法在 ASP.NET Core 项目中实现对应功能。示例涉及 Program.cs 注册、中间件管道配置、端点定义、过滤器实现、限流配置、依赖注入注册、AOT 配置与 Options 绑定等。
适用场景
适用于构建 ASP.NET Core Web API,包括需要端点分组、中间件管道定制、OpenAPI 文档、统一错误处理、限流、依赖注入管理、Native AOT 发布或强类型配置校验的项目。
限制
资料未提供该技能的安装方式、收费信息、支持平台或具体使用步骤,这些内容暂未提供。