本文为您介绍如何安装新版Java SDK。

前提条件

使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。

Java SDK使用方法示例

以BssOpenApi Java SDK查询订单详情的方法GetOrderDetail为例,介绍SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-bssopenapi包中。

  1. 创建Profile。
    // 设置鉴权参数,初始化客户端
    DefaultProfile profile = DefaultProfile.getProfile(
        "cn-hangzhou",// 地域ID。阿里云中国站的用户调用,RegionId统一设置为唯一值cn-hangzhou。 
        "your-access-key-id",// 您的AccessKeyID。
        "your-access-key-secret");// 您的AccessKeySecret。
  2. 创建Client。
    IAcsClient client = new DefaultAcsClient(profile);
  3. 创建Request。创建一个对应方法的Request,类的命名规则一般为API的接口名加上Request,如查询订单详情的API接口名为GetOrderDetail ,那么对应的请求类名就是GetOrderDetailRequest,直接使用构造函数生成一个默认的类request。
    GetOrderDetailRequest request = new GetOrderDetailRequest();

    设置Request的参数。通过request.setXxx设置必要的参数信息,即API参数中必须要提供的信息,GetOrderDetail的API方法必须要提供的参数为OrderId,该值表示要查询的具体订单号。

    request.setOrderId("123");
  4. 获取返回结果Response。
    使用client.getAcsResponse(request);获取对应的response对象。然后可以调用response中对应的getXxx方法获取返回的参数。
    GetOrderDetailResponse response = client.getAcsResponse(request);
    response.getData();
完整的代码示例如下。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.bssopenapi.model.v20171214.*;

public class GetOrderDetail {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-hangzhou", 
            "your-access-key-id",// 您的AccessKeyID。
            "your-access-key-secret");// 您的AccessKeySecret。
        IAcsClient client = new DefaultAcsClient(profile);

        GetOrderDetailRequest request = new GetOrderDetailRequest();
        request.setRegionId("cn-hangzhou");
        request.setOrderId("123");

        try {
            GetOrderDetailResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response.getData()));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}