niusys-webapi
niusys-webapi 是偏 WebAPI 的真实项目案例,适合观察 AgileLabs Framework 在 API 服务、认证授权、Swagger、Hangfire 和 WorkContext 场景中的落地方式。
适合看什么
- 标准 WebAPI 宿主组织。
EnvelopMessage与 Swagger 对齐。- JWT + ApiKey 双认证链。
- Hangfire Dashboard 与 Server 组合。
关键实践
Program.cs只保留最薄启动入口,扩展点分散到AppConfigure、ServiceRegister、HangfireRegister。- 通过
WebApiActionFiltersConfig注册ExceptionHandlerFilter和EnvelopFilterAttribute。 - 通过
ConfigureMvcJsonSerialization()统一配置 Newtonsoft.Json 和JsonNetSerializerSettings.Instance。 - 通过
AddSwaggerEnvelopFilters让成功响应文档自动包装成EnvelopMessage<T>。 - API Key 认证成功后,通过
IWorkContextCoreSetter把用户标识写入 WorkContext。 HangfireRegister同时承担服务注册、Dashboard 暴露和请求管道接入,说明后台能力通常不是单独的 Demo 组件。- 后台逻辑里存在显式
CreateScopeWithWorkContext(),说明非 HTTP 执行流也会主动建立上下文边界。
检查时重点核对
- 是否只有一套统一异常链和统一封包入口。
- Swagger 是否与真实响应结构保持一致。
- Json 配置是否集中在宿主入口,而不是散落在控制器里。