Skip to content

Commit 1c60839

Browse files
authored
🎨 binarywang#571 微信小程序接口请求增加多种http客户端
1 parent 6c3d090 commit 1c60839

9 files changed

Lines changed: 653 additions & 426 deletions

File tree

spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
wx.miniapp.config-storage.redis.host = 127.0.0.1
2424
wx.miniapp.config-storage.redis.port = 6379
2525
# http客户端配置
26-
wx.miniapp.config-storage.http-client-type=HttpClient # http客户端类型: HttpClient(默认)
26+
wx.miniapp.config-storage.http-client-type=HttpClient # http客户端类型: HttpClient(默认), OkHttp, JoddHttp
2727
wx.miniapp.config-storage.http-proxy-host=
2828
wx.miniapp.config-storage.http-proxy-port=
2929
wx.miniapp.config-storage.http-proxy-username=

spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.binarywang.spring.starter.wxjava.miniapp.config;
22

33
import cn.binarywang.wx.miniapp.api.WxMaService;
4+
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceHttpClientImpl;
45
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
6+
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceJoddHttpImpl;
7+
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceOkHttpImpl;
58
import cn.binarywang.wx.miniapp.config.WxMaConfig;
69
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
710
import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl;
8-
import com.binarywang.spring.starter.wxjava.miniapp.enums.StorageType;
11+
import com.binarywang.spring.starter.wxjava.miniapp.enums.HttpClientType;
912
import com.binarywang.spring.starter.wxjava.miniapp.properties.ConfigStorage;
1013
import com.binarywang.spring.starter.wxjava.miniapp.properties.RedisProperties;
1114
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties;
@@ -49,9 +52,19 @@ public class WxMaAutoConfiguration {
4952
@Bean
5053
@ConditionalOnMissingBean(WxMaService.class)
5154
public WxMaService service(WxMaConfig wxMaConfig) {
52-
final WxMaServiceImpl service = new WxMaServiceImpl();
53-
service.setWxMaConfig(wxMaConfig);
54-
return service;
55+
HttpClientType httpClientType = wxMaProperties.getConfigStorage().getHttpClientType();
56+
WxMaService wxMaService;
57+
if (httpClientType == HttpClientType.OkHttp) {
58+
wxMaService = new WxMaServiceOkHttpImpl();
59+
} else if (httpClientType == HttpClientType.JoddHttp) {
60+
wxMaService = new WxMaServiceJoddHttpImpl();
61+
} else if (httpClientType == HttpClientType.HttpClient) {
62+
wxMaService = new WxMaServiceHttpClientImpl();
63+
} else {
64+
wxMaService = new WxMaServiceImpl();
65+
}
66+
wxMaService.setWxMaConfig(wxMaConfig);
67+
return wxMaService;
5568
}
5669

5770
@Bean

spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/HttpClientType.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,13 @@ public enum HttpClientType {
1010
/**
1111
* HttpClient.
1212
*/
13-
HttpClient
13+
HttpClient,
14+
/**
15+
* OkHttp.
16+
*/
17+
OkHttp,
18+
/**
19+
* JoddHttp.
20+
*/
21+
JoddHttp,
1422
}

0 commit comments

Comments
 (0)