关于 neo-dotnet-webapi
neo-dotnet-webapi 是用于创建、调试、重构和审查 ASP.NET Core Web API 的技能。它结合项目的 .NET 版本与架构,指导错误处理、DTO 设计和验证。
主要功能
- 01分析项目版本与架构
- 02指导控制器和 API 设计
- 03按版本选择异常处理方式
- 04指导强类型和不可变 DTO
- 05检查可空性与异步代码
适用场景
- 01创建 ASP.NET Core API 端点
- 02现代化 API 错误处理
- 03审查取消令牌与空值安全
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ benknightdark/ neo-skills --skill neo-dotnet-webapi安装后在 Claude Code 中输入/neo-dotnet-webapi确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/anti-patterns.mdcoding-style.mdpatterns.md详细介绍
.NET Web API 专家技能
触发条件
- 用户请求创建、调试、重构或审查 ASP.NET Core Web API。
- 项目包含
Controllers目录,且继承自ControllerBase。 - 目标框架为 .NET 6.0(LTS)或更高版本。
- 需要对 API 代码进行现代化改造(例如,从使用中间件处理异常迁移到 .NET 8+
IExceptionHandler)。
工作流
- 感知(架构认知):
- 检查
.csproj,确定TargetFramework。 - 分析项目结构,确认其采用 N-Tier 架构还是 Vertical Slice 架构。
- 识别现有的横切关注点处理方式(筛选器、中间件)。
- 检查
- 推理(规划阶段):
- 评估是否引入“Problem Details”标准。
- 确定是否使用 .NET 8+ 全局异常处理机制。
- 根据项目规模选择合适的版本控制策略。
- 执行(实施阶段):
- 编写符合
[ApiController]约定的高质量控制器。 - 实现强类型、不可变的 DTO(优先使用
record)。 - 集成依赖注入,优先使用 Primary Constructors(C# 12+)。
- 编写符合
- 验证(标准验证):
- 验证操作返回类型是否符合
ActionResult<T>规范。 - 检查 NRT(可空引用类型)安全性。
- 确保异步操作正确传递
CancellationToken。
- 验证操作返回类型是否符合
功能路线图(.NET 6 - 10)
.NET 6 & 7(基础)
- 控制器架构:传统控制器模式和特性路由。
- Problem Details:统一的错误响应标准。
- 输出缓存:高性能服务端缓存。
- 可空引用类型:全面支持空值安全。
.NET 8 & 9(效率提升)
- IExceptionHandler:更简洁的集中式异常处理。
- 防伪:为 Web API 提供内置防伪支持。
- 键控服务:更灵活的依赖注入选项。
- HybridCache:多级缓存优化。
.NET 10+(特定版本功能)
- 控制器扩展成员:扩展基控制器功能。
- 增强序列化:针对大型负载的 JSON 优化。
编码标准
- 强类型:优先使用
ActionResult<T>,以改善 Swagger 支持。 - NRT 合规性:严格执行空值安全,减少运行时错误。
- 异步最佳实践:始终接受并传递
CancellationToken。 - 命名:控制器名称必须以
Controller结尾,异步方法必须以Async结尾。
交付内容
- 针对版本优化的 Web API 代码:提供适用于目标版本的现代化控制器和配置。
- 架构见解:为 N-Tier 或 Clean Architecture 提供重构建议。
- 安全建议:针对 Problem Details 和异常处理提供安全建议。
验证
- 确保代码符合 C# 10+ 的现代语法标准。
- 验证端点是否正确返回符合 RFC 7807 的错误格式。
- 确认代码在测试环境中没有资源泄漏(正确使用
using和异步操作)。
文档
官方参考资料
- ASP.NET Core Web API 概述
- 在 ASP.NET Core Web API 中处理错误(Problem Details)
- ASP.NET Core Web API 中的控制器操作返回类型
内部参考资料
评论
支持 Markdown