mirror of
https://github.com/yanlongqi/jhinno-openapi-java-sdk.git
synced 2026-03-22 06:15:10 +08:00
f3cb13703ac1c75ef2762a45e9d6a74c56911496
feat(新版发布): 开发Springboot-starter方便集成方调用,修复获取token本地时间和服务器时间有差异而导致的报错问题 See merge request solutions/jhinno-openapi-java-sdk!1
Jhinno OpenAPI SDK for Java
针对Java的景行API SDK使Java开发人员能够轻松使用景行API接口。您可以在几分钟内开始通过Maven或jar文件使用它。
- 仓库地址:https://github.com/yanlongqi/jhinno-openapi-java-sdk
- 开发文档:https://jhinno-sdk-doc.yuchat.top/apidocs
- 最新jar包:jhinno-openapi-java-sdk-1.0.0.jar
- 最新源码包:jhinno-openapi-java-sdk-1.0.0-sources.jar
必要条件
- Java 1.8 or later
- Maven
支持的Appform的版本
- JH_Appform_6.0_Release
- JH_Appform_6.0_SP1_Release
安装
建议在您的项目中使用Jhinno OpenAPI SDK for Java的方法是从Maven中使用它。导入方法如下:
方法一:通过Maven仓库安装
添加仓库地址(改方案为备用方案,后续会上传至Maven中央仓库,目前不影响正常使用)
<repositories>
<repository>
<id>jhinno-nexus</id>
<name>jhinno-nexus</name>
<url>https://jhinno-nexus.yuchat.top/repository/maven-releases</url>
</repository>
</repositories>
添加依赖
<dependency>
<groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId>
<version>1.0.0</version>
</dependency>
方法二:通过命令将jar包导入本地Maven仓库
# 其中<path-to-dir>为jar的路径,<path-to-dir>为jar包路径
mvn org.apache.maven.plugins:maven-install-plugin:3.1.1:install-file -Dfile="<path-to-dir>/jhinno-openapi-java-sdk-1.0.0.jar" -Dsources="<path-to-dir>/jhinno-openapi-java-sdk-1.0.0-sources.jar"
# 例如
mvn org.apache.maven.plugins:maven-install-plugin:3.1.1:install-file -Dfile="E:/下载/jhinno-openapi-java-sdk-1.0.0.jar" -Dsources="E:/下载/jhinno-openapi-java-sdk-1.0.0-sources.jar"
注:
- jhinno-openapi-java-sdk-x.x.x.jar 为SDK的jar包。
- jhinno-openapi-java-sdk-x.x.x-sources.jar 为源码包,添加可方便查看SDK代码的注释。
然后在pom.xml添加
<dependency>
<groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId>
<version>1.0.0</version>
</dependency>
方法三:直接在pom.xml引用jar(改方法可能会出现一些莫名其妙的问题,所以不建议使用)
<!-- 其中{path-to-file}为jar的位置 -->
<dependency>
<groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>{path-to-file}</systemPath>
</dependency>
例如
<!-- 其中{path-to-file}为jar的位置 -->
<dependency>
<groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>D:/jar/jhinno-openapi-java-sdk-1.0.0.jar</systemPath>
</dependency>
使用
在com.jhinno.sdk.openapi.api包下面对应app、data、file、job、organization这几个子包,分别代表景行Appform
的应用、作业数据、文件、作业操作、组织等接口资源。开发者只需要使用接口的执行器(JHxxxApiExecution
)即可使用资源,如:JHAppApiExecution
具体的使用步骤如下:
- 创建一个
JHApiClient客户端,此为HTTP连接池,为确保资源浪费,需保证全局唯一,每次创建执行器都使用个客户端。 - 创建接口的执行器,即:
JHxxxApiExecution,如:JHAppApiExecution。 - 调用接口执行器的方法,使用景行接口资源,如下代码片段。
public class DemoUserSDK {
/**
* JHApiClient 是一个HTTP连接池,开发者需要复用
* 其中https://192.168.87.25/appform为景行API服务的地址
* 注意: JHApiClient为内置的http连接池,系统只需要初始化一份即可(单例调用)。
*/
private static final JHApiClient client = JHApiClient.build("https://192.168.87.25/appform");
public static void main(String[] args) {
// 初始化一个调用调用景行会话服务接口执行器
JHAppApiExecution jhAppApiExecution = new JHAppApiExecution(client);
// 调用启动会话的接口
AppStartedInfo appStartedInfo = jhAppApiExecution.desktopStart("jhadmin", "linux_desktop", new AppStartRequest());
// 打印接口的调用结果
System.out.println(appStartedInfo);
}
}
支持SDK的扩展
如果是基于景行定制的接口,本SDK没有包含这些方法,因此您可以基于JHApiExecution快速进行扩展,具体的扩展步骤如下:
- 新建需要扩展的执行器命名为
JHxxxApiExecution,并继承JHApiExecution; - 编写基于接口调用的方法;
父类提供了封装好的get、post、put、delete方法,可以直接使用,而不考虑token的问题
/**
* 注意:一下代码为伪代码,需要根据实际的情况进行修改,其示例代码可参照SDK中JHApiExecution子类的实现
*/
public class JHAppApiExecution extends JHApiExecution {
/**
* 获取一个执行器的实例
*
* @param jhApiClient 请求的客户端
*/
public JHAppApiExecution(JHApiClient jhApiClient) {
super(jhApiClient);
}
public XxxDTO getXXXX(String username, String demoParams) {
return get("/demo/path", username, new TypeReference<ResponseResult<XxxDTO>>() {
});
}
}
构建
一旦您检出代码,就可以使用Maven构建它。使用以下命令进行构建:
mvn clean package -DskipTests -P product
代码贡献
- 代码必须格式化,使用IDEA自带的格式即可;
- 请求路径必须放在一个单独的const类中统一维护,具体可参考现有代码提交;
- 封装新的接口是需要继承
JHApiExecution,调用父类的辅助方法辅助封装;
作者
支持
- 电话(同微信):18794888087
- 邮箱:lqyan@jhinno.com
Description
Languages
Java
100%