Java integration guide
更新时间:
复制 MD 格式
Example program
After you download the file, modify the following three files to run a test.
Simple SDK integration steps
Step 1: Add Maven dependencies
<dependency>
<groupId>com.aliyun.api.gateway</groupId>
<artifactId>sdk-core-java</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68.noneautotype</version>
</dependency>
Step 2: Add the HttpsClient class
Add HttpsClient.java and modify the package name if necessary.
package com.example.demo;
import com.alibaba.cloudapi.sdk.client.ApacheHttpClient;
import com.alibaba.cloudapi.sdk.constant.SdkConstant;
import com.alibaba.cloudapi.sdk.enums.HttpMethod;
import com.alibaba.cloudapi.sdk.enums.ParamPosition;
import com.alibaba.cloudapi.sdk.enums.Scheme;
import com.alibaba.cloudapi.sdk.model.ApiRequest;
import com.alibaba.cloudapi.sdk.model.ApiResponse;
import com.alibaba.cloudapi.sdk.model.HttpClientBuilderParams;
import com.alibaba.fastjson.JSON;
import java.util.Map;
public class HttpsApiClient extends ApacheHttpClient {
static HttpsApiClient instance = new HttpsApiClient();
public void init(HttpClientBuilderParams httpClientBuilderParams){
httpClientBuilderParams.setScheme(Scheme.HTTPS);
super.init(httpClientBuilderParams);
}
public ApiResponse invoke(String path, Object params){
return invoke(path, params, null);
}
public ApiResponse invoke(String path, Object params, Map<String, String> headers){
byte[] body = null;
try {
body = JSON.toJSONString(params).getBytes(SdkConstant.CLOUDAPI_ENCODING);
} catch (Exception e) {
e.printStackTrace();
}
ApiRequest request = new ApiRequest(HttpMethod.POST_BODY, path, body);
request.addHeader("Content-Type", "application/json");
if (headers != null && !headers.isEmpty()){
for (Map.Entry<String, String> entry : headers.entrySet()){
request.addParam(entry.getKey(), entry.getValue(), ParamPosition.HEAD, false);
}
}
return sendSyncRequest(request);
}
public ApiResponse invoke(ApiRequest request){
return sendSyncRequest(request);
}
}
Step 3: Configure the AK/SK, call path, and call parameters
package com.example.demo;
import com.alibaba.cloudapi.sdk.model.ApiResponse;
import com.alibaba.cloudapi.sdk.model.HttpClientBuilderParams;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) throws Exception {
String endpoint = "openai.edu-aliyun.com";
HttpClientBuilderParams httpsParam = new HttpClientBuilderParams();
httpsParam.setHost(endpoint);
httpsParam.setAppKey("Your AppKey");
httpsParam.setAppSecret("Your AppSecret");
httpsParam.setReadTimeout(300000L);
HttpsApiClient.instance.init(httpsParam);
// The call path. For details, see the API documentation.
String apiPath = "/scc/your_call_path";
Map<String, Object> params = new HashMap<>();
// Call parameters
params.put("parameter_name", "parameter_value");
ApiResponse apiResponse = HttpsApiClient.instance.invoke(apiPath, params);
System.out.println("Result Code:" + apiResponse.getCode());
System.out.println("Message:" + apiResponse.getMessage());
// Call result
JSONObject body = JSON.parseObject(new String(apiResponse.getBody()));
System.out.println("Body:" + body);
}
}
该文章对您有帮助吗?