用途:为 Sorcha 服务创建或修改 API 端点时,遵循该项目统一的 Minimal APIs 编码规范;项目明确只使用 .NET 10 Minimal APIs,不使用 MVC 控制器。
主要能力与约定:
- 路由分组:用 app.MapGroup("/api/v1/wallets") 组织相关端点,并通过扩展方法在 Endpoints/ 文件夹中集中定义。
- 授权:在分组或单个端点上使用 .RequireAuthorization("Policy"),公开端点(如登录路由)使用 .AllowAnonymous()。
- OpenAPI 元数据:所有端点要求 .WithName()、.WithSummary() 等元数据,文档 UI 使用 Scalar,不用 Swagger。
- 强类型返回:支持 Results<Ok<T>, NotFound, ValidationProblem> 与 TypedResults(如 TypedResults.ValidationProblem、TypedResults.Ok、TypedResults.Unauthorized)。
- 查询参数:支持 [FromQuery] 可选过滤参数与分页默认值(如 page = 1、pageSize = 50)。
- 依赖注入与错误处理:处理函数可注入服务、HttpContext、ILogger 与 CancellationToken,错误返回 ProblemDetails。
- 缓存输出:可使用 .CacheOutput(p => p.Expire(...).Tag("tag")) 配置 Redis 输出缓存。
使用方式:查阅相关 skills(patterns、workflows)以及 aspire、scalar、jwt、redis、signalr 等技能;可通过 Context7 获取 ASP.NET Core 官方文档,推荐库 ID 为 /websites/learn_microsoft_en-us_aspnet_core,并查询 "minimal apis route groups"、"minimal apis typed results"、"minimal apis authorization"、"minimal apis openapi documentation" 等主题。
限制:资料未提供完整的安装命令、部署步骤、收费信息及更广的适用场景说明。