
shz.spring.DefaultApiRequest Maven / Gradle / Ivy
package shz.spring;
import com.alibaba.fastjson2.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import shz.core.HttpHelp;
import shz.core.api.AbstractApiRequest;
import shz.core.api.ApiIgnore;
import shz.core.api.ApiRequestConfig;
import shz.core.api.ApiResponse;
import java.util.Map;
public class DefaultApiRequest extends AbstractApiRequest {
@ApiIgnore
protected static final Logger log = LoggerFactory.getLogger(DefaultApiRequest.class);
@Override
protected T analysis(String response) {
return JSON.parseObject(response, tCls);
}
@Override
protected ApiRequestConfig getConfig() {
ApiRequestConfig config = super.getConfig();
config.setUrl(BeanContainer.getExpressionProperty(config.getUrl()));
config.setMethod(BeanContainer.getExpressionProperty(config.getMethod()));
config.setProxyHost(BeanContainer.getExpressionProperty(config.getProxyHost()));
config.setProxyPort(BeanContainer.getExpressionProperty(config.getProxyPort()));
config.setConnectTimeoutMills(BeanContainer.getExpressionProperty(config.getConnectTimeoutMills()));
config.setReadTimeoutMills(BeanContainer.getExpressionProperty(config.getReadTimeoutMills()));
return config;
}
@Override
protected String apiValue(String value) {
return BeanContainer.getExpressionProperty(value);
}
@Override
protected String url(Map dataMap) {
String url = super.url(dataMap);
if (config.getMethod().startsWith("P")) return url;
return HttpHelp.jointUrl(url, dataMap);
}
@Override
protected String body(Map dataMap) {
if (dataMap.isEmpty() || !config.getMethod().startsWith("P")) return null;
return JSON.toJSONString(dataMap);
}
@Override
protected void before(String url, String body) {
if (log.isInfoEnabled()) log.info("请求url:{},body:{}", url, body);
}
@Override
protected void after(String url, String body, String response) {
if (log.isInfoEnabled()) log.info("请求url:{},body:{},响应:{}", url, body, response);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy