public interface HttpClients
HttpClients配置: 自动配置SimpleOkHttpClient
配置前缀: slate.httpclients
| 限定符和类型 | 接口和说明 |
|---|---|
static class |
HttpClients.MapBasedOverrideSettings
基于Map实现的覆盖配置
|
static interface |
HttpClients.OverrideSettings
覆盖配置(接口)
示例: 使用Apollo配置中心动态调整配置
@Configuration
public class HttpClientsApolloConfig {
private HttpClients httpClients;
//构造注入HttpClients
@Autowired
public HttpClientsApolloConfig(HttpClients httpClients) {
this.httpClients = httpClients;
}
//获取Apollo配置, 注意要指定正确的namespace
@ApolloConfig("application")
private Config config;
//监听Apollo配置变化, 注意要指定正确的namespace
@ApolloConfigChangeListener("application")
private void onApolloConfigChanged(ConfigChangeEvent configChangeEvent){
httpClients.settingsOverride(new ApolloOverrideSettings(config));
}
//将Apollo的配置包装为OverrideSettings
private static class ApolloOverrideSettings implements HttpClients.OverrideSettings {
private Config config;
private ApolloOverrideSettings(Config config) {
this.config = config;
}
@Override
public Set@Override
public String getValue(String key) {
return config.getProperty(key, null);
}
}
}
|
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
HTTP_CLIENTS_NAME |
| 限定符和类型 | 方法和说明 |
|---|---|
SimpleOkHttpClient |
get(java.lang.String tag)
获取Http请求客户端
|
void |
settingsOverride(HttpClients.OverrideSettings overrideSettings)
[高级] 运行时修改客户端配置, 动态添加客户端
Spring启动后, 会先根据YML配置和启动参数创建HttpClient.
|
int |
size() |
java.util.Set<java.lang.String> |
tags() |
static final java.lang.String HTTP_CLIENTS_NAME
SimpleOkHttpClient get(java.lang.String tag)
tag - tag(标识)int size()
java.util.Set<java.lang.String> tags()
void settingsOverride(HttpClients.OverrideSettings overrideSettings)
[高级] 运行时修改客户端配置, 动态添加客户端
Spring启动后, 会先根据YML配置和启动参数创建HttpClient. 若需要在运行时, 调整这些HttpClient的配置, 甚至新增HttpClient, 就需要用到这个方法. 该方法接收一个覆盖配置(OverrideSettings), 覆盖配置指定了哪些配置需要修改成什么值, 程序会根据覆盖配置 对HttpClient进行调整, 甚至新增.