fix: API-Key 空校验

This commit is contained in:
LuanY77
2025-09-17 23:26:25 +08:00
parent 1d4d197559
commit 6e97712ecb
5 changed files with 26 additions and 12 deletions

View File

@@ -63,6 +63,7 @@ public class ModelConfig implements RequestBodyConvertible, RequestHeaderConvert
this.connectTimeout = connectTimeout;
this.readTimeout = readTimeout;
this.headersConfig = headersConfig;
checkRequiredFields();
}
protected ModelConfig(Builder<?> builder) {
@@ -74,6 +75,17 @@ public class ModelConfig implements RequestBodyConvertible, RequestHeaderConvert
this.connectTimeout = builder.connectTimeout;
this.readTimeout = builder.readTimeout;
this.headersConfig.putAll(builder.headersConfig);
checkRequiredFields();
}
/**
* 检查必填字段
*/
protected void checkRequiredFields() {
Objects.requireNonNull(this.apiUrl, "API URL must not be null");
Objects.requireNonNull(this.endPoint, "End Point must not be null");
Objects.requireNonNull(this.provider, "Provider must not be null");
Objects.requireNonNull(this.model, "Model must not be null");
}
@Override
@@ -231,13 +243,6 @@ public class ModelConfig implements RequestBodyConvertible, RequestHeaderConvert
return self();
}
protected void checkRequiredFields() {
Objects.requireNonNull(apiUrl, "API URL must not be null");
Objects.requireNonNull(endPoint, "End Point must not be null");
Objects.requireNonNull(provider, "Provider must not be null");
Objects.requireNonNull(model, "Model must not be null");
}
public abstract ModelConfig build();
private static class BuilderImpl extends Builder<BuilderImpl> {
@@ -249,7 +254,6 @@ public class ModelConfig implements RequestBodyConvertible, RequestHeaderConvert
@Override
public ModelConfig build() {
checkRequiredFields();
return new ModelConfig(this);
}
}

View File

@@ -69,7 +69,6 @@ public class ChatConfig extends ModelConfig {
@Override
public ChatConfig build() {
checkRequiredFields();
return new ChatConfig(this);
}
}

View File

@@ -4,6 +4,7 @@ import com.yomahub.liteflow.ai.engine.model.chat.entity.ChatConfig;
import java.time.Duration;
import java.util.Map;
import java.util.Objects;
/**
* DashScope 聊天配置类
@@ -36,6 +37,12 @@ public class DashScopeChatConfig extends ChatConfig {
super(builder);
}
@Override
protected void checkRequiredFields() {
super.checkRequiredFields();
Objects.requireNonNull(this.apiKey, "API Key must not be null, please set it via configuration: {liteflow.ai.dashscope.api-key}");
}
public static Builder builder() {
return new Builder();
}
@@ -49,7 +56,6 @@ public class DashScopeChatConfig extends ChatConfig {
@Override
public DashScopeChatConfig build() {
checkRequiredFields();
return new DashScopeChatConfig(this);
}
}

View File

@@ -49,7 +49,6 @@ public class OllamaChatConfig extends ChatConfig {
@Override
public OllamaChatConfig build() {
checkRequiredFields();
return new OllamaChatConfig(this);
}
}

View File

@@ -4,6 +4,7 @@ import com.yomahub.liteflow.ai.engine.model.chat.entity.ChatConfig;
import java.time.Duration;
import java.util.Map;
import java.util.Objects;
/**
* OpenAI 聊天配置类
@@ -32,6 +33,12 @@ public class OpenAIChatConfig extends ChatConfig {
super(apiUrl, endPoint, apiKey, provider, model, connectTimeout, readTimeout, headersConfig, autoToolCallEnabled);
}
@Override
protected void checkRequiredFields() {
super.checkRequiredFields();
Objects.requireNonNull(this.apiKey, "API Key must not be null, please set it via configuration: {liteflow.ai.openai.api-key}");
}
public OpenAIChatConfig(Builder builder) {
super(builder);
}
@@ -49,7 +56,6 @@ public class OpenAIChatConfig extends ChatConfig {
@Override
public OpenAIChatConfig build() {
checkRequiredFields();
return new OpenAIChatConfig(this);
}
}