• 沒有找到結果。

3-4 调用流程

前提条件

● 已获取API的域名、请求url、请求方法、AppKey和AppSecret等信息,具体参见认 证前准备。

● 已安装Eclipse 3.6.0或以上版本,如果未安装,请至Eclipse官方网站下载。

● 已安装Java Development Kit 1.8.111或以上版本,如果未安装,请至Oracle官方 下载页面下载。

获取 SDK

请登录API网关控制台,参考《用户指南》的“SDK”章节,进入SDK页面并下载 SDK。

或直接下载SDK的最新版本,获取“ApiGateway-java-sdk.zip”压缩包,解压后目录 结构如下:

名称 说明

libs\ SDK依赖库

libs\java-sdk-core-x.x.x.jar SDK包 src\com\apig\sdk\demo

\Main.java 使用SDK签名请求示例代码 src\com\apig\sdk\demo

\OkHttpDemo.java src\com\apig\sdk\demo

\LargeFileUploadDemo.jav a

.classpath Java工程配置文件 .project

如果使用maven构建,SDK包中“java-sdk-core-x.x.x.jar”的maven仓库地址为

<groupId>com.huawei.apigateway</groupId>

<artifactId>java-sdk-core</artifactId>

<version>SDK包版本号</version>

</dependency>

说明

使用maven构建时,settings.xml文件需要修改,增加以下内容:

1. 在profiles节点中添加如下内容:

<profile>

<id>MyProfile</id>

<repositories>

<repository>

<id>HuaweiCloudSDK</id>

<url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/</url>

<releases>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>HuaweiCloudSDK</id>

<url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/</url>

<releases>

</pluginRepositories>

</profile>

2. 在mirrors节点中增加:

<mirror>

<id>huaweicloud</id>

<mirrorOf>*,!HuaweiCloudSDK</mirrorOf>

<url>https://mirrors.huaweicloud.com/repository/maven/</url>

</mirror>

3. 增加activeProfiles标签激活配置:

<activeProfiles>

步骤2 选择“General > Existing Projects into Workspace”,单击“Next”。

弹出“Import Projects”对话框。

3-5 Import

步骤3 单击“Browse”,在弹出的对话框中选择解压后的SDK路径。

3-6 选择 demo 工程

步骤4 单击“Finish”,完成工程导入。

“Main.java”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考调 用API示例。

----结束

3-7 新建工程

步骤3 导入API Gateway Java SDK的“jar”文件。

1. 选择“java-sdk-demo”,单击鼠标右键,选择“Build Path > Add External Archives”。

3-8 导入 jar 文件

2. 选择SDK中“\libs”目录下所有以“jar”结尾的文件,单击“打开”。

3-9 选择 jar 文件

步骤4 新建“Package”及“Main”文件。

1. 选择“src”,单击鼠标右键,选择“New > Package”。

3-10 新建 Package

3-11 设置 Package 的名称

3. 单击“Finish”。

完成“Package”的创建。

4. 选择“com.apig.sdk.demo”,单击鼠标右键,选择“New > Class”。

3-12 新建 Class

5. 在“Name”中输入“Main”,勾选“public static void main(String[]

args)”。

3-13 设置 Class 的配置

6. 单击“Finish”。

完成“Main”文件的创建。

步骤5 完成工程创建后,最终目录结构如下。

3-14 新建工程 Main 的目录结构

“Main.java”无法直接使用,请根据实际情况参考下文调用API示例输入所需代码。

----结束

调用 API 示例

说明

● 您需要在控制台创建一个API,可以选择Mock模式,并发布到环境上。创建及发布API的步 骤请参见用户指南。

● 示例API的后端为打桩的HTTP服务,此后端返回一个“200”响应码及“Congratulations, sdk demo is running”消息体。

步骤1 在“Main.java”中加入以下引用。

import java.io.IOException;

import javax.net.ssl.SSLContext;

import org.apache.http.Header;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.methods.HttpRequestBase;

import org.apache.http.conn.ssl.AllowAllHostnameVerifier;

import org.apache.http.conn.ssl.SSLConnectionSocketFactory;

import org.apache.http.conn.ssl.SSLContexts;

import org.apache.http.conn.ssl.TrustSelfSignedStrategy;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import com.cloud.apigateway.sdk.utils.Client;

import com.cloud.apigateway.sdk.utils.Request;

步骤2 创建request,过程中需要用到如下参数。

● AppKey:通过认证前准备获取。根据实际情况填写,示例代码使用

“4f5f626b-073f-402f-a1e0-e52171c6100c”作为样例。

● AppSecret:通过认证前准备获取。根据实际情况填写,示例代码使用“******”作 为样例。

● Method:请求的方法名。根据API实际情况填写,示例代码使用“POST”作为样

● queryString: url携带参数的部分,根据API实际情况填写。支持的字符集为[0-9a-zA-Z./;[]\-=~#%^&_+: "]。示例代码使用“name=value”作为样例。

request.setKey("4f5f626b-073f-402f-a1e0-e52171c6100c"); //创建应用时得到 request.setSecret("*****"); //创建应用时得到

request.setMethod("POST");

request.setUrl("http://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/java-sdk");

//url地址

request.addQueryStringParam("name", "value");

request.addHeader("Content-Type", "text/plain");

//request.addHeader("x-stage", "publish_env_name"); //如果API发布到非RELEASE环境,需要增加自 定义的环境名称

System.out.println(response.getStatusLine().toString());

Header[] resHeaders = response.getAllHeaders();

{

if (client != null) {

client.close();

}

} catch (IOException e) {

e.printStackTrace();

} }

步骤4 选择“Main.java”,单击鼠标右键,选择“Run As > Java Application”,运行工程 测试代码。

3-15 运行工程测试代码

步骤5 在“Console”页签,查看运行结果。

3-16 调用成功后的返回信息

----结束

相關文件