diff --git a/AssetManager.API/Program.cs b/AssetManager.API/Program.cs
index 946ac26..f54dd26 100644
--- a/AssetManager.API/Program.cs
+++ b/AssetManager.API/Program.cs
@@ -6,6 +6,9 @@ using System.Text;
var builder = WebApplication.CreateBuilder(args);
+// 校验必填环境变量
+ValidateRequiredEnvironmentVariables();
+
// 初始化SqlSugar配置
AssetManager.Data.SqlSugarConfig.Initialize(builder.Configuration);
@@ -134,3 +137,33 @@ app.UseAuthorization();
app.MapControllers();
app.Run();
+
+///
+/// 校验必填环境变量,启动时检查,缺省直接报错
+///
+void ValidateRequiredEnvironmentVariables()
+{
+ var requiredVars = new List
+ {
+ "JWT__SecretKey",
+ "JWT__Issuer",
+ "JWT__Audience",
+ "ConnectionStrings__DefaultConnection",
+ "Tiingo__ApiKey"
+ };
+
+ var missingVars = new List();
+ foreach (var varName in requiredVars)
+ {
+ var value = Environment.GetEnvironmentVariable(varName);
+ if (string.IsNullOrEmpty(value))
+ {
+ missingVars.Add(varName);
+ }
+ }
+
+ if (missingVars.Any())
+ {
+ throw new Exception($"启动失败,缺失必填环境变量:{string.Join(", ", missingVars)}");
+ }
+}