diff --git a/jhinno-openapi-sdk-spring-boot-example/pom.xml b/jhinno-openapi-sdk-spring-boot-example/pom.xml new file mode 100644 index 0000000..3658184 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + cim.jhinno + jhinno-openapi-sdk-spring-boot-example + 2.0.3 + jar + Jhinno OpenAPI SDK for Java SpringBoot Example + The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service + http://jhinno.com + + + org.springframework.boot + spring-boot-starter-parent + 2.7.18 + + + + + + com.jhinno + jhinno-openapi-sdk-spring-boot-starter + 2.0.3 + + + + org.springframework.boot + spring-boot-starter-web + true + + + + org.projectlombok + lombok + provided + true + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + + + + + lqyan + lqyan + lqyan@jhinno.com + + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + \ No newline at end of file diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/ExampleApplication.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/ExampleApplication.java new file mode 100644 index 0000000..1c378b0 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/ExampleApplication.java @@ -0,0 +1,13 @@ +package com.jhinno.sdk.openapi.example; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ExampleApplication { + + + public static void main(String[] args) { + SpringApplication.run(ExampleApplication.class, args); + } +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileEnvType.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileEnvType.java new file mode 100644 index 0000000..764317c --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileEnvType.java @@ -0,0 +1,19 @@ +package com.jhinno.sdk.openapi.example.api.extend; + +public enum FileEnvType { + + HOME_ENV{ + @Override + public String getEnv() { + return "home"; + } + }, + SPOOLER_ENV{ + @Override + public String getEnv() { + return "spooler"; + } + }; + + public abstract String getEnv(); +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FilePath.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FilePath.java new file mode 100644 index 0000000..a5ca4e0 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FilePath.java @@ -0,0 +1,13 @@ +package com.jhinno.sdk.openapi.example.api.extend; + +import lombok.Data; + +@Data +public class FilePath { + + /** + * 文件路径 + */ + private String path; + +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileSystemType.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileSystemType.java new file mode 100644 index 0000000..6b0c9fd --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/FileSystemType.java @@ -0,0 +1,24 @@ +package com.jhinno.sdk.openapi.example.api.extend; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum FileSystemType { + + SYSTEM_TYPE_LINUX { + @Override + public String getType() { + return "linux"; + } + }, + SYSTEM_TYPE_WINDOWS { + @Override + public String getType() { + return "windows"; + } + }; + + public abstract String getType(); +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/JHFileApiExtendExecution.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/JHFileApiExtendExecution.java new file mode 100644 index 0000000..2437877 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/api/extend/JHFileApiExtendExecution.java @@ -0,0 +1,29 @@ +package com.jhinno.sdk.openapi.example.api.extend; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.jhinno.sdk.openapi.api.JHApiExecution; +import com.jhinno.sdk.openapi.api.ResponseResult; +import com.jhinno.sdk.openapi.client.JHApiClient; +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; + +public class JHFileApiExtendExecution extends JHApiExecution { + + public static String GET_FILE_ENV_PATH = "/ws/api/files/path/{env}"; + + public FilePath getFileEnvPath(String username, FileEnvType env, FileSystemType type) { + Map params = new HashMap<>(1); + if (StringUtils.isNotBlank(type.getType())) { + params.put("type", type.getType()); + } + String url = JHApiClient.getUrl(GET_FILE_ENV_PATH.replace("{env}", env.getEnv()), params); + return get(url, username, new TypeReference>() { + }); + } + + public FilePath getFileHomeEnvPath(String username, FileSystemType type) { + return getFileEnvPath(username, FileEnvType.HOME_ENV, type); + } +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/config/JHOpenapiExecutionConfig.java b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/config/JHOpenapiExecutionConfig.java new file mode 100644 index 0000000..688a896 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/java/com/jhinno/sdk/openapi/example/config/JHOpenapiExecutionConfig.java @@ -0,0 +1,19 @@ +package com.jhinno.sdk.openapi.example.config; + +import com.jhinno.sdk.openapi.example.api.extend.JHFileApiExtendExecution; +import com.jhinno.sdk.openapi.utils.JHOpenApiConfig; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +@Configuration +@RequiredArgsConstructor +public class JHOpenapiExecutionConfig { + + + @Bean + public JHFileApiExtendExecution fileApiExtendExecution(JHOpenApiConfig jhOpenApiConfig) { + return jhOpenApiConfig.configJHApiExecution(new JHFileApiExtendExecution()); + } +} diff --git a/jhinno-openapi-sdk-spring-boot-example/src/main/resources/application.yml b/jhinno-openapi-sdk-spring-boot-example/src/main/resources/application.yml new file mode 100644 index 0000000..37d8052 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/main/resources/application.yml @@ -0,0 +1,6 @@ +jhinno: + openapi: + server-url: https://172.17.0.5/appform + auth-type: access_secret_mode + access-key: 3f03747f147942bd8debd81b6c9c6a80 + access-key-secret: e0681859b91c499eb1d2c8e09cea3242 \ No newline at end of file diff --git a/jhinno-openapi-sdk-spring-boot-example/src/test/java/com/jhinno/sdk/openapi/example/test/extend/JHFileApiExtendTest.java b/jhinno-openapi-sdk-spring-boot-example/src/test/java/com/jhinno/sdk/openapi/example/test/extend/JHFileApiExtendTest.java new file mode 100644 index 0000000..1011b79 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-example/src/test/java/com/jhinno/sdk/openapi/example/test/extend/JHFileApiExtendTest.java @@ -0,0 +1,19 @@ +package com.jhinno.sdk.openapi.example.test.extend; + +import com.jhinno.sdk.openapi.example.api.extend.FileSystemType; +import com.jhinno.sdk.openapi.example.api.extend.JHFileApiExtendExecution; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +public class JHFileApiExtendTest { + + @Autowired + private JHFileApiExtendExecution jhFileApiExtendExecution; + + @Test + void testGetFileHomeEnvPath() { + System.out.println(jhFileApiExtendExecution.getFileHomeEnvPath("jhadmin", FileSystemType.SYSTEM_TYPE_LINUX)); + } +} diff --git a/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/utils/JHOpenApiConfig.java b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/utils/JHOpenApiConfig.java new file mode 100644 index 0000000..e809905 --- /dev/null +++ b/jhinno-openapi-sdk-spring-boot-starter/src/main/java/com/jhinno/sdk/openapi/utils/JHOpenApiConfig.java @@ -0,0 +1,28 @@ +package com.jhinno.sdk.openapi.utils; + +import com.jhinno.sdk.openapi.api.JHApiExecution; +import com.jhinno.sdk.openapi.autoconfigure.JHOpenapiProperties; +import com.jhinno.sdk.openapi.client.JHApiClient; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Configuration; + +@Configuration +@RequiredArgsConstructor +public class JHOpenApiConfig { + + private final JHApiClient client; + private final JHOpenapiProperties properties; + + public T initJHApiExecution(T execution) { + execution.setJhApiClient(client); + execution.setForceGetToken(properties.isForceGetToken()); + execution.setAuthType(properties.getAuthType()); + execution.setAccessKey(properties.getAccessKey()); + execution.setAccessKeySecret(properties.getAccessKeySecret()); + execution.setTokenTimeout(properties.getTokenTimeout()); + execution.setTokenResidueTime(properties.getTokenResidueTime()); + execution.setUsedServerTime(properties.isUsedServerTime()); + return execution; + } + +}