此 SDK 适用于 Java 7 及以上版本。使用此 SDK 构建您的网络应用程序,无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构服务或应用,都能让您以非常便捷地方式使用英方统一数据管理平台(下简称“英方平台”)管理您的业务,同时也让您的服务端更加轻盈。
I2UP Java SDK 属于英方服务端SDK之一,主要用于管理您英方平台上的服务器保护配置。
compile 'org.info2soft:i2up-java-sdk:7.1.+'
<dependency>
<groupId>org.info2soft</groupId>
<artifactId>i2up-java-sdk</artifactId>
<version>[7.0.0, 7.1.0]</version>
</dependency>
这里的version指定了一个版本范围,每次更新pom.xml的时候会尝试去下载7.1.x版本中的最新版本,你可以手动指定一个固定的版本。
请尽量使用包管理工具自动解决依赖问题。如果条件实在不满足,只能通过手动下载jar包的方式来解决。本项目自身jar及依赖的第三方库如下:
Java SDK依赖的第三方库及其版本如下:
<dependencies>
<dependency>
<groupId>com.i2soft</groupId>
<artifactId>i2up-java-sdk</artifactId>
<version>7.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
| 库名称 | 库项目地址 | 库下载地址 |
|---|---|---|
| i2up-java-sdk | 链接🔗 | 链接🔗 |
| okhttp3 | 链接🔗 | 链接🔗 |
| okio | 链接🔗 | 链接🔗 |
| gson | 链接🔗 | 链接🔗 |
| junit | 链接🔗 | 链接🔗 |
可以点击每个库的下载链接,然后选择对应的jar进行下载,然后引入到项目中。
获取英方平台上添加的节点列表
- 准备英方平台的地址:您安装英方平台的服务器地址,格式为
http://[ip]:[port]。 - 准备 SDK 本地缓存路径:本地会保存访问凭证以减少网络请求次数,您需要提供一个有读写权限的路径,格式为
"D:\cache\"。 - 获取凭证(Auth):英方Java SDK的所有的功能,都需要合法的授权。授权凭证需要英方平台下的一对有效的
用户名和密码。 - 实例化具体业务管理类:如此处为
Node类。 - 调用对应业务方法:如此处为
获取节点列表。 - 方法返回:如访问正常,会包含请求结果,如此处为
info_list(节点列表)。 - 异常:I2softException 会在发生 http 错误或方法执行异常时抛出,其中 response 中有错误的详细信息。
如下为获取节点列表
import com.i2soft.common.Auth;
import com.i2soft.http.I2softException;
import com.i2soft.resource.v20190805.Node;
import com.i2soft.util.Configuration;
import com.i2soft.util.StringMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
try {
String ip = "http://[ip]:[port]"; // 英方平台地址
String username = "admin"; // 英方平台用户名
String password = "xxxxx"; // 英方平台密码
String cachePath = "D:\cache\"; // token 缓存地址
// 鉴权
Auth auth = Auth.token(ip, username, password, cachePath);
// 设置语言
auth.client.setHeader("User-Lang", "zh-CN");
// 实例化节点管理类
Node node = new Node(auth);
// 获取节点列表
StringMap listArgs = new StringMap().put("limit", 1).put("direction", "DESC"); // 填充请求数据
Map rs = node.listNode(listArgs);
// 如访问正常,此处 rs 包含 info_list(节点列表)
System.out.println(rs);
} catch (I2softException e) {
e.printStackTrace();
}
}
}
import com.i2soft.common.Auth;
import com.i2soft.http.I2softException;
import com.i2soft.resource.v20190805.Node;
import com.i2soft.util.Configuration;
import com.i2soft.util.StringMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
try {
String ip = "http://[ip]:[port]"; // 英方平台地址
String ak = "oishvmn5YPHJcEDaIjtwd0R9Ug7BN1fk"; // 英方平台 Access Key
String sk = "fkLiyqsG3P1AzB5jWtYbZa7TU8RN9wSVhe6EldOo"; // 英方平台 Secret Key
// 鉴权
Auth auth = Auth.access(ip, ak, sk);
// 设置语言
auth.client.setHeader("User-Lang", "zh-CN");
// 实例化节点管理类
Node node = new Node(auth);
// 获取节点列表
StringMap listArgs = new StringMap().put("limit", 1).put("direction", "DESC"); // 填充请求数据
Map rs = node.listNode(listArgs);
// 如访问正常,此处 rs 包含 info_list(节点列表)
System.out.println(rs);
} catch (I2softException e) {
e.printStackTrace();
}
}
}
- SDK具体方法的详细参数请参照 API 参考。
- I2softException 保留了请求响应的信息,失败情况下会抛出此异常,可以提交给我们排查问题。
- API 的使用,demo 可以参考单元测试。
- 多语言:
auth.client.setHeader("User-Lang", "zh-CN");en-US 英文,zh-TW 繁体中文,zh-CN 简体
如果您有任何关于我们文档或产品的建议和想法,欢迎您通过以下方式与我们互动讨论:
-
Fork
-
创建您的特性分支 git checkout -b my-new-feature
-
提交您的改动 git commit -am 'Added some feature'
-
将您的修改记录提交到远程 git 仓库 git push origin my-new-feature
-
然后到 github 网站的该 git 远程仓库的 my-new-feature 分支下发起 Pull Request