
ksyun.client.ebs.recoveryvolume.v20160304.RecoveryVolumeClient Maven / Gradle / Ivy
package ksyun.client.ebs.recoveryvolume.v20160304;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import common.BaseClient;
import common.Credential;
import common.utils.HttpClientUtils;
import common.utils.SignUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
/**
* @Classname RecoveryVolumeClient
* @Description RecoveryVolume
*/
@Slf4j
public class RecoveryVolumeClient extends BaseClient {
private final static String service = "ebs";
private final static String version = "2016-03-04";
private final static String action = "RecoveryVolume";
/**
* 证书
*/
private Credential credential;
public RecoveryVolumeClient(Credential credential) {
this.credential = credential;
}
/**
* post请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doPost(String path, RecoveryVolumeRequest requestObj) throws Exception {
return doPost(path, requestObj, null);
}
/**
* post请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doPost(String path, RecoveryVolumeRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpPost(path, requestParams, head);
log.info("doPost end,path:{},params:{},head:{}", path, requestParams, head);
return JSON.parseObject(response, RecoveryVolumeResponse.class);
}
/**
* get 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doGet(String path, RecoveryVolumeRequest requestObj) throws Exception {
return doGet(path, requestObj, null);
}
/**
* doDelete 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doDelete(String path, RecoveryVolumeRequest requestObj) throws Exception {
return doDelete(path, requestObj, null);
}
/**
* doDelete 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doDelete(String path, RecoveryVolumeRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpDelete(path, requestParams, head);
log.info("doDelete end,path:{},params:{},head:{}", path, requestParams, head);
RecoveryVolumeResponse RecoveryVolumeResponse = JSON.parseObject(response, RecoveryVolumeResponse.class);
return RecoveryVolumeResponse;
}
/**
* doPut 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doPut(String path, RecoveryVolumeRequest requestObj) throws Exception {
return doPut(path, requestObj, null);
}
/**
* doPut 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doPut(String path, RecoveryVolumeRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpPut(path, requestParams, head);
log.info("httpPut end,path:{},params:{},head:{}", path, requestParams, head);
RecoveryVolumeResponse RecoveryVolumeResponse = JSON.parseObject(response, RecoveryVolumeResponse.class);
return RecoveryVolumeResponse;
}
/**
* get 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public RecoveryVolumeResponse doGet(String path, RecoveryVolumeRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpGet(path, requestParams, head);
log.info("doGet end,path:{},params:{},head:{}", path, requestParams, head);
return JSON.parseObject(response, RecoveryVolumeResponse.class);
}
/**
* 构造请求参数
*
* @param requestObj
* @return
*/
private JSONObject getRequestParams(RecoveryVolumeRequest requestObj) throws Exception {
JSONObject requestParams = new JSONObject();
//设置证书
getCommonParams(credential, requestParams);
//设置接口属性
requestParams.put("Service", service);
requestParams.put("Action", action);
requestParams.put("Version", version);
//设置请求体请求参数
setRequestField(requestObj,requestParams);
//签名
String signature = SignUtils.signature(requestParams, credential.getSignStr());
requestParams.put("Signature", signature);
return requestParams;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy