调用方式

介绍产品调用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官方说明文档。

阿里云首页 移动研发平台 相关技术圈