diff --git a/README.md b/README.md
index d3b7f12..f012537 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,6 @@
针对 Java 的景行 API SDK 使 Java 开发人员能够轻松使用景行 API 接口。您可以在几分钟内开始通过 Maven 或 jar 文件使用它。
- [仓库地址:https://github.com/yanlongqi/jhinno-openapi-java-sdk](https://github.com/yanlongqi/jhinno-openapi-java-sdk)
-- [开发文档:https://jhinno-sdk-doc.yuchat.top/apidocs](https://jhinno-sdk-doc.yuchat.top/apidocs)
- [jar 包下载:https://github.com/yanlongqi/jhinno-openapi-java-sdk/releases](https://github.com/yanlongqi/jhinno-openapi-java-sdk/releases)
## 1.1 必要条件
@@ -17,6 +16,7 @@
2. JH_Appform_6.0_SP1_Release
3. JH_Appform_6.1_Release
4. JH_Appform_6.2_Release(使用: release-2.0.3)
+5. JH_Appform_6.3_Release(使用: release-2.0.4)
# 2. 快速开始
@@ -183,24 +183,16 @@ spring.xml 添加以下内容
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
```
@@ -259,49 +251,34 @@ public class DemoUserSDK {
```java
-public class DemoUserSDK {
+public class JHApiUtile {
/**
- * JHApiClient 是一个HTTP连接池,开发者需要复用
- * 其中https://172.17.0.5/appform为景行API服务的地址
- * 注意: JHApiClient为内置的http连接池,系统只需要初始化一份即可(单例调用)。
+ * 创建一个API执行器管理器
*/
- public static final JHApiClient client = new JHApiClient("https://172.17.0.5/appform");
-
- public static final Map, JHApiExecution> jhApiClientMap = new HashMap<>();
+ public static final JHApiExecutionManage API_EXECUTION_MANAGE = new JHApiExecutionManage("https://192.168.87.24/appform");
public static final String ACCESS_KEY = "3f03747f147942bd8debd81b6c9c6a80";
public static final String ACCESS_KEY_SECRET = "e0681859b91c499eb1d2c8e09cea3242";
static {
- client.initDefaultApiClient();
- jhApiClientMap.put(JHAppApiExecution.class, new JHAppApiExecution());
- jhApiClientMap.put(JHDataApiExecution.class, new JHDataApiExecution());
- jhApiClientMap.put(JHFileApiExecution.class, new JHFileApiExecution());
- jhApiClientMap.put(JHJobApiExecution.class, new JHJobApiExecution());
- jhApiClientMap.put(JHDepartmentApiExecution.class, new JHDepartmentApiExecution());
- jhApiClientMap.put(JHUserApiExecution.class, new JHUserApiExecution());
-
- jhApiClientMap.forEach((k, v) -> {
- v.setJhApiClient(client);
- v.setAuthType(AuthType.ACCESS_SECRET_MODE);
- v.setAccessKey(ACCESS_KEY);
- v.setAccessKeySecret(ACCESS_KEY_SECRET);
- v.setUsedServerTime(true);
+ // 配置API执行器管理器,设置认证信息等。
+ API_EXECUTRON_MANAGE.configureApiExecution(t -> {
+ // 默认为使用Token模式,如何使用的Token模式,则不需要配置ACCESS_KEY和ACCESS_KEY SECRET
+ // t.setAuthType(AuthType.ACCESS_KEY);
+ t.setAccessKey(ACCESS_KEY);
+ t.setAccessKeySecret(ACCESS_KEY_SECRET);
});
}
public static void main(String[] args) {
- // 初始化一个调用调用景行会话服务接口执行器
- JHAppApiExecution jhAppApiExecution = (JHAppApiExecution) jhApiClientMap.get(JHAppApiExecution.class);
+ // 从API执行器管理器取出调用应用相关接口的执行器
+ JHAppApiExecution jhAppApiExecution = JHClientConfig.API_EXECUTION_MANAGE.getApiExecution(JHAppApiExecution.class);
// 调用启动会话的接口
- AppStartedInfo appStartedInfo = jhAppApiExecution.desktopStart("jhadmin", "linux_desktop", new AppStartRequest());
-
- // 打印接口的调用结果
- System.out.println(appStartedInfo);
+ jhAppApiExecution.desktopStart("jhadmin", "linux_desktop");
}
}
@@ -317,19 +294,24 @@ public class DemoUserSDK {
父类提供了封装好的`get`、`post`、`put`、`delete`方法,可以直接使用,而不考虑 token 的问题
+## 3.1 SpringBoot 项目
+
+### 3.1.1 方式一
+
+通过实现`JHApiExecution`接口,实现自定义的`JHDemoApiExecution`,并注册到 Spring 容器中。
+
```java
/**
- * 注意:一下代码为伪代码,需要根据实际的情况进行修改,其示例代码可参照SDK中JHApiExecution子类的实现
+ * 注意:一下代码为伪代码,需要根据实际的情况进行修改,其示例代码可参照SDK中JHDemoApiExecution子类的实现
*/
-public class JHAppApiExecution extends JHApiExecution {
+@Component
+public class JHDemoApiExecution extends JHApiExecution {
- /**
- * 获取一个执行器的实例
- *
- * @param jhApiClient 请求的客户端
- */
- public JHAppApiExecution(JHApiClient jhApiClient) {
- super(jhApiClient);
+ private JHRequestExecution execution;
+
+ @Override
+ public void init(JHRequestExecution execution) {
+ this.execution = execution;
}
public XxxDTO getXXXX(String username, String demoParams) {
@@ -341,6 +323,84 @@ public class JHAppApiExecution extends JHApiExecution {
```
+### 3.1.2 方式二
+
+通过注入 `JHRequestExecution` 的方式来注入
+
+```java
+/**
+ * 注意:一下代码为伪代码,需要根据实际的情况进行修改,其示例代码可参照SDK中JHDemoApiExecution子类的实现
+ */
+public class JHDemoApiExecution extends JHApiExecution {
+
+ @Autowired
+ private JHRequestExecution execution;
+
+ public XxxDTO getXXXX(String username, String demoParams) {
+
+ return get("/demo/path", username, new TypeReference>() {
+ });
+ }
+}
+
+```
+
+# 3.2 非 SpringBoot 项目
+
+```java
+/**
+ * 注意:一下代码为伪代码,需要根据实际的情况进行修改,其示例代码可参照SDK中JHDemoApiExecution子类的实现
+ */
+public class JHDemoApiExecution extends JHApiExecution {
+
+ private JHRequestExecution execution;
+
+ @Override
+ public void init(JHRequestExecution execution) {
+ this.execution = execution;
+ }
+
+ public XxxDTO getXXXX(String username, String demoParams) {
+
+ return get("/demo/path", username, new TypeReference>() {
+ });
+ }
+}
+
+
+public class JHApiUtile {
+
+ public static final JHApiExecutionManage API_EXECUTION_MANAGE = new JHApiExecutionManage("https://192.168.87.24/appform");
+
+ public static final String ACCESS_KEY = "3f03747f147942bd8debd81b6c9c6a80";
+
+ public static final String ACCESS_KEY_SECRET = "e0681859b91c499eb1d2c8e09cea3242";
+
+ static {
+ // 配置API执行器管理器,设置认证信息等。
+ API_EXECUTRON_MANAGE.configureApiExecution(t -> {
+ // 默认为使用Token模式,如何使用的Token模式,则不需要配置ACCESS_KEY和ACCESS_KEY SECRET
+ // t.setAuthType(AuthType.ACCESS_KEY);
+ t.setAccessKey(ACCESS_KEY);
+ t.setAccessKeySecret(ACCESS_KEY_SECRET);
+ });
+
+ // 注册自定义的API执行器,会自动配置你自定义的执行器
+ API_EXECUTRON_MANAGE.registerApiExecution(new JHDemoApiExecution());
+ }
+
+ public static void main(String[] args) {
+
+ // 从API执行器管理器取出调用应用相关接口的执行器
+ JHDemoApiExecution jhAppApiExecution = JHClientConfig.API_EXECUTION_MANAGE.getApiExecution(JHDemoApiExecution.class);
+
+ // 调用启动会话的接口
+ jhAppApiExecution.getXXXX("jhadmin", "xxxx");
+ }
+}
+
+```
+
# 4. 构建
一旦您检出代码,就可以使用 Maven 构建它。使用以下命令进行构建: