package login;
|
|
/**
|
* API配置类
|
* 统一管理API地址、超时时间等配置
|
*/
|
public class ApiConfig {
|
|
private static final String DEFAULT_BASE_URL = "http://192.168.100.96:9000";
|
private static final int DEFAULT_CONNECT_TIMEOUT = 30000; // 30秒
|
private static final int DEFAULT_READ_TIMEOUT = 60000; // 60秒
|
private static final String DEFAULT_USER_AGENT = "LoginClient/1.0";
|
|
private final String baseUrl;
|
private final int connectTimeout;
|
private final int readTimeout;
|
private final String userAgent;
|
|
/**
|
* 私有构造函数
|
*/
|
private ApiConfig(String baseUrl, int connectTimeout, int readTimeout, String userAgent) {
|
this.baseUrl = baseUrl != null ? baseUrl : DEFAULT_BASE_URL;
|
this.connectTimeout = connectTimeout > 0 ? connectTimeout : DEFAULT_CONNECT_TIMEOUT;
|
this.readTimeout = readTimeout > 0 ? readTimeout : DEFAULT_READ_TIMEOUT;
|
this.userAgent = userAgent != null ? userAgent : DEFAULT_USER_AGENT;
|
}
|
|
/**
|
* 获取默认配置
|
*/
|
public static ApiConfig getDefault() {
|
return new ApiConfig(DEFAULT_BASE_URL, DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, DEFAULT_USER_AGENT);
|
}
|
|
/**
|
* 创建自定义配置
|
*/
|
public static Builder builder() {
|
return new Builder();
|
}
|
|
public String getBaseUrl() {
|
return baseUrl;
|
}
|
|
public int getConnectTimeout() {
|
return connectTimeout;
|
}
|
|
public int getReadTimeout() {
|
return readTimeout;
|
}
|
|
public String getUserAgent() {
|
return userAgent;
|
}
|
|
/**
|
* 配置构建器
|
*/
|
public static class Builder {
|
private String baseUrl;
|
private int connectTimeout;
|
private int readTimeout;
|
private String userAgent;
|
|
public Builder baseUrl(String baseUrl) {
|
this.baseUrl = baseUrl;
|
return this;
|
}
|
|
public Builder connectTimeout(int connectTimeout) {
|
this.connectTimeout = connectTimeout;
|
return this;
|
}
|
|
public Builder readTimeout(int readTimeout) {
|
this.readTimeout = readTimeout;
|
return this;
|
}
|
|
public Builder userAgent(String userAgent) {
|
this.userAgent = userAgent;
|
return this;
|
}
|
|
public ApiConfig build() {
|
return new ApiConfig(baseUrl, connectTimeout, readTimeout, userAgent);
|
}
|
}
|
}
|