Skip to content

Commit f0bf6c0

Browse files
committed
请求url中host可自定义
1 parent 94758c4 commit f0bf6c0

File tree

6 files changed

+20
-10
lines changed

6 files changed

+20
-10
lines changed

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/ApiClient.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.hyq0719.mktapi.common.token.cache.ITokenLocalCache;
99
import com.hyq0719.mktapi.common.util.JSON;
1010
import lombok.extern.slf4j.Slf4j;
11+
import org.apache.commons.lang3.StringUtils;
1112
import org.threeten.bp.format.DateTimeFormatter;
1213

1314
import java.lang.reflect.Type;
@@ -70,6 +71,10 @@ public <T> ApiResponse<T> execute(RequestParam param, Type returnType) throws Ap
7071
}
7172

7273
public String getToken(String accountId) {
74+
//账号id判空
75+
if (StringUtils.isEmpty(accountId)) {
76+
return "";
77+
}
7378
IToken iToken = iTokenLocalCache.get(accountId);
7479
if (iToken != null) {
7580
return iToken.getToken();

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/ApiRequest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public R execute(T t, ApiRequestAdvice apiRequestAdvice, String token) throws Ap
4343
if (Objects.nonNull(apiRequestAdvice)) {
4444
apiRequestAdvice.before();
4545
}
46-
ApiResponse<R> resp = businessWithHttpInfo(t, token);
46+
ApiResponse<R> resp = executeWithHttp(t, token);
4747
if (Objects.nonNull(apiRequestAdvice)) {
4848
apiRequestAdvice.after();
4949
}
@@ -81,7 +81,8 @@ public RequestParam constructParameters(T t, String token) {
8181
final String localVarToken = StringUtils.isEmpty(token) ? getStringToken(getAccountId(t)) : token;
8282

8383
return RequestParam.builder()
84-
.baseUrl(getBaseUrl())
84+
.scheme(getBaseUrl().getScheme())
85+
.host(getHost())
8586
.path(getLocalVarPath())
8687
.version(getVersion())
8788
.method(getMethod())
@@ -181,7 +182,7 @@ public List<Pair> parameterToPairs(String collectionFormat, String name, Collect
181182

182183
protected abstract void updateParamsForAuth(RequestParam param);
183184

184-
protected ApiResponse<R> businessWithHttpInfo(T t, String token) throws ApiException {
185+
protected ApiResponse<R> executeWithHttp(T t, String token) throws ApiException {
185186
RequestParam param = constructParameters(t, token);
186187
paramValidate(t);
187188
updateParamsForAuth(param);

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/annotation/ApiRequestMapping.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
String version() default "";
1515

16+
String host() default "";
17+
1618
String method();
1719

1820
boolean usePostBody() default true;

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/executor/http/BaseHttpHandler.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.hyq0719.mktapi.common.executor.http;
22

3-
import com.hyq0719.mktapi.common.executor.parameter.BaseUrl;
43
import com.hyq0719.mktapi.common.executor.parameter.Pair;
54
import com.hyq0719.mktapi.common.executor.parameter.RequestParam;
65
import com.hyq0719.mktapi.common.util.JSON;
@@ -36,14 +35,13 @@ public String parameterToString(Object param) {
3635
@Override
3736
public String buildUrl(RequestParam requestParam) {
3837
StringBuilder url = new StringBuilder();
39-
final BaseUrl baseUrl = requestParam.getBaseUrl();
4038

41-
url.append(baseUrl.getScheme()).append("://")
42-
.append(baseUrl.getHost()).append("/")
39+
url.append(requestParam.getScheme()).append("://")
40+
.append(requestParam.getHost()).append("/")
4341
.append(requestParam.getVersion())
4442
.append(requestParam.getPath());
4543

46-
appendQueryParams(url, requestParam, baseUrl);
44+
appendQueryParams(url, requestParam);
4745

4846
appendCollectionQueryParams(url, requestParam);
4947

@@ -74,11 +72,11 @@ public boolean isJsonMime(String mime) {
7472
return mime != null && (mime.matches(jsonMime) || "*/*".equals(mime));
7573
}
7674

77-
private void appendQueryParams(StringBuilder url, RequestParam requestParam, BaseUrl baseUrl) {
75+
private void appendQueryParams(StringBuilder url, RequestParam requestParam) {
7876
List<Pair> queryParams = requestParam.getQueryParams();
7977
if (queryParams != null && !queryParams.isEmpty()) {
8078
// support (constant) query string in `path`, e.g. "/posts?draft=1"
81-
String prefix = baseUrl.toString().contains("?") ? "&" : "?";
79+
String prefix = "?";
8280
for (Pair param : queryParams) {
8381
if (param.getValue() != null) {
8482
if (prefix != null) {

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/executor/parameter/ParamHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public interface ParamHandler<T> {
1414

1515
String getVersion();
1616

17+
String getHost();
18+
1719
String getStringToken(String accountId);
1820

1921
String getAccountId(T t);

marketing-api-common/src/main/java/com/hyq0719/mktapi/common/executor/parameter/RequestParam.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
@AllArgsConstructor
1616
public class RequestParam {
1717
private String path;
18+
private String scheme;
19+
private String host;
1820
private String version;
1921
private BaseUrl baseUrl;
2022
private String method;

0 commit comments

Comments
 (0)