SuperAPI AI 工具集

aspnet-rest-apis

编程与开发

查看项目

更新于 10-15 21:38

技能介绍

用途:为 Enigmatry Entry Blueprint 项目提供 .NET 9 Web API 的编码模式,指导新增或维护 API 功能时的目录结构、查询、命令、控制器与依赖注入写法。

主要能力:采用垂直切片架构,按功能组织代码。查询放在 Api/Features/{Feature}/,命令与领域逻辑放在 Domain/{Feature}/Commands/。查询为静态类,包含 Request、Response、MappingProfile 与 RequestHandler;列表查询使用 PagedRequest 与 IPagedRequestHandler。命令为静态类,包含 Command、Result、Validator,处理器单独文件。控制器保持精简,仅调用 mediator.Send(),查询返回 response.ToActionResult(),命令直接返回结果,每个端点用 [UserHasPermission(PermissionId.X)] 标注。领域实体继承 EntityWithCreatedUpdated,使用私有 setter,提供 Create(Command) 工厂与 Update(Command) 方法,并通过 AddDomainEvent() 发布领域事件。服务注册使用 Autofac 模块而非 IServiceCollection;名称以 Service 结尾的类由 ServiceModule 自动注册。EF Core 配置实现 IEntityTypeConfiguration。

使用方式:按上述目录与命名约定编写代码;命令与查询含用户输入时需提供 Validator;包版本统一放在 Directory.Packages.props,不在 .csproj 的 PackageReference 中写 Version。

限制与禁止事项:控制器中不得放业务逻辑;不得用 services.AddSingleton/Scoped 注册服务;不得使用 ! 空值宽容运算符;不得使用静态 Log.Information(...),应注入 ILogger<T>;请求/响应/DTO 类型需标注 [PublicAPI],处理器与验证器需标注 [UsedImplicitly]。

适用场景:在 Enigmatry Entry Blueprint 的 .NET 9 项目中新增或修改 REST API 功能。其他框架或版本是否适用暂未提供。