调用方式
介绍产品调用API请求的请求和返回模式。
请求结构
EMAS应用基座的API是RPC风格,您可以通过发送HTTP GET/POST请求调用API。
其请求结构如下:
https://endpoint/?Action=xxx&Version=xxx&Parameters
其中:
Endpoint:指API的服务接入地址,例如:mhub.cn-shanghai.aliyuncs.com。
Action:指要执行的操作,如调用ListProducts查询项目列表。
Version:指要使用的API版本,例如:EMAS应用基座的API版本是2017-08-25。
Parameters:请求参数,涉及多个参数时每个参数之间用“&”分隔。 请求参数由公共请求参数和API自定义参数组成。公共参数中包含API版本号、身份验证等信息,具体请参见公共参数。
Java SDK接入
1. 引入如下POM依赖:
<!-- 阿里云公共 SDK -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
<version>0.2.5</version>
</dependency>
<!-- EMAS 应用基座 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>mhub20170825</artifactId>
<!-- Version建议取maven仓库最新版本 -->
<version>1.0.5</version>
</dependency>
2. Java调用示例:
import com.aliyun.mhub20170825.Client;
import com.aliyun.mhub20170825.models.ListProductsRequest;
import com.aliyun.mhub20170825.models.ListProductsResponse;
import com.aliyun.tearpc.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
public class TestMhubSDK {
public static void main(String[] args) throws Exception {
// 1 创建Config实例并初始化。
Config authConfig = new Config();
authConfig.accessKeyId = "your accessKeyId";
authConfig.accessKeySecret = "your accessKeySecret";
authConfig.endpoint = "mhub.cn-shanghai.aliyuncs.com";
authConfig.regionId = "cn-shanghai";
Client authClient = new Client(authConfig);
// 2 创建RuntimeObject实例并设置运行参数
RuntimeOptions runtime = new RuntimeOptions();
// 3 创建API请求并设置参数。
ListProductsRequest request = new ListProductsRequest();
request.setOffset(0);
request.setSize(10);
request.setSimple(true);
// 4 发起请求并处理应答或异常。
ListProductsResponse response = authClient.listProductsWithOptions(request, runtime);
System.out.print(response.toMap());
}
}
重要
为避免在日志中泄漏参数accessKeyId/accessKeySecret或App运行过程中产生的数据,建议线上版本关闭SDK调试日志。
由于所有用户使用统一的SDK接入,在接入过程中需要在代码中设置accessKeyId/accessKeySecret参数,而此类参数与计量计费密切相关,为防止恶意反编译获取参数造成信息泄漏,建议您开启混淆,并进行App加固后再发布上线。
Java SDK调用更多说明详见阿里云SDK官方说明文档。