HttpResponse httpResponse = call(apiMethod, url, headerMap, formMap, rawJsonMap, rawJsonStr);
int status = httpResponse.getStatus();
if (302 == status) {
url = httpResponse.header("Location");
httpResponse = call(apiMethod, url, headerMap, formMap, rawJsonMap, rawJsonStr);
}
/**
* http call
* @param apiMethod
* @param url
* @param headerMap
* @param formMap
* @param rawJsonMap
* @param rawJsonStr
* @param httpResponse
* @return cn.hutool.http.HttpResponse
*/
private HttpResponse call(Byte apiMethod, String url, Map<String, String> headerMap, Map<String, Object> formMap, Map<String, Object> rawJsonMap, String rawJsonStr) {
HttpResponse httpResponse = null;
if (apiMethod == Const.Api.ApiMethod.FLAG_GET) {
httpResponse = DHttpUtil.get(headerMap, url);
} else if (apiMethod == Const.Api.ApiMethod.FLAG_POST) {
if (Objects.nonNull(formMap) && formMap.size() > 0) {
httpResponse = DHttpUtil.post(headerMap, url, formMap);
} else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) {
httpResponse = DHttpUtil.post(headerMap, url, rawJsonStr);
} else {
httpResponse = DHttpUtil.post(headerMap, url);
}
} else if (apiMethod == Const.Api.ApiMethod.FLAG_PUT) {
if (Objects.nonNull(formMap) && formMap.size() > 0) {
httpResponse = DHttpUtil.put(headerMap, url, formMap);
} else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) {
httpResponse = DHttpUtil.put(headerMap, url, rawJsonStr);
}
} else if (apiMethod == Const.Api.ApiMethod.FLAG_DELETE) {
if (Objects.nonNull(formMap) && formMap.size() > 0) {
httpResponse = DHttpUtil.delete(headerMap, url, formMap);
} else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) {
httpResponse = DHttpUtil.delete(headerMap, url, rawJsonStr);
}
}
return httpResponse;
}