# fasc-op-java-sdk **Repository Path**: fadada-cloud/fasc-op-java-sdk ## Basic Information - **Project Name**: fasc-op-java-sdk - **Description**: 法大大混合云OP2.0 JAVA语言版SDK - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-22 - **Last Updated**: 2024-02-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FASC OP Java SDK v2.0 说明 # 简介 欢迎使用法大大开发者工具套件(SDK),OP Java SDK 是法大大 OP2.0 API在线文档的配套工具。 SDK已上传至中央仓库,直接通过Maven安装FASC OP Java SDK: ```xml io.gitee.fadada-cloud op-java-sdk-spring-boot-starter 2.0.6.1 ``` # 依赖环境 JAVA JDK 版本: JDK 1.8 注意:法大大OP系统需要已安装并激活启动。(有疑问可联系法大大项目对接人) # 安装说明 ## 引用jar包 引入sdk 所依赖的jar包,提供的方法调用OP API服务。 ```xml commons-logging commons-logging 1.2 compile commons-codec commons-codec 1.15 ``` ## 始化客户端 系统参数配置说明 ```properties # 法大大部署在本地服务器地址 fdd.sdk.server-url=https://xxx.fadada.com/ # 法大大本地服务应用ID(法大大系统管理后台 > 集成中心 > 系统集成 > 自建应用) fdd.sdk.appid=587623 # 法大大本地服务应用密钥 fdd.sdk.appkey=D0qrIe6Gdl9dTilMmnoIyFka6egTAIAp # 网络请求超时时间 fdd.sdk.connect-timeout=10000 # 网络请求读取超时时间 fdd.sdk.read-timeout=120000 # 授权类型:sign、oauth。默认为sign(详细解读参考API在线文档,本地文档地址:https://xxx.fadada.com/doc) fdd.sdk.auth-type=oauth ``` ## 业务方法调用 Springboot自动注入FddApiClient ```java @Autowired FddClientService fddClient; //系统参数配置后自动注入 @Test void createAccount() throws ApiException { // 创建用户为例 CreateAccountRequest request = new CreateAccountRequest(); request.setUserName("张三"); request.setMobile("17788722127"); CreateAccountResponse response = fddClient.execute(request); System.out.println(MessageFormat.format("code:{0}, message:{1}", response.getCode(), response.getMessage())); if("0".equals(response.getCode())){ CreateAccountResult createAccountResult = response.getData(); System.out.println("fddClient success! accountId:" + createAccountResult.getAccountId()); } } ``` 手动初始化客户端 ```java //初始化本地缓存保存token信息, 可自定义实现FddTokenStore的类自行使用redis等中间件保存token信息 FddTokenStore tokenStore = new CacheTokenStoreImpl(); //初始化客户端 DefaultFddClient fddClient = new DefaultFddClient(serverUrl, appId, appKey, Constants.AUTH_OAUTH, 1000, 30000); fddClient.tokenStore(tokenStore); // 创建用户为例 CreateAccountRequest request = new CreateAccountRequest(); request.setUserName("张三"); request.setMobile("17788722127"); CreateAccountResponse response = fddClient.execute(request); System.out.println(MessageFormat.format("code:{0}, message:{1}", response.getCode(), response.getMessage())); if("0".equals(response.getCode())){ CreateAccountResult createAccountResult = response.getData(); System.out.println("fddClient success! accountId:" + createAccountResult.getAccountId()); } ``` 更多示例详见demo代码(https://gitee.com/fadada-cloud/fasc-op-java-sdk/blob/2.0.6/src/main/java/com/fdd/op/demo/Demo.java) ## 扩展说明 当SDK版本不匹配OP系统版本时(API接口SDK不满足),可通过扩展实现自定义的请求接口、请求参数、响应结果解析等。 1、自定义接口请求Request,继承BaseFddRequest。 ```java public class GetAccountRequest extends BaseFddRequest { @Override public String getApiMethodName() { // 请求接口地址,详见API在线文档,本地文档地址:https://xxx.fadada.com/doc return "/user/api/account/getAccount"; } @Override public String getHttpMethod() { return Constants.METHOD_GET; } @Override public Map getTextParams() { FddHashMap txtParams = new FddHashMap(); if (this.udfParams != null) { txtParams.putAll(this.udfParams); } return txtParams; } @Override public Class getResponseClass() { // 自定义接口响应Response return GetAccountResponse.class; } @Override public void check() throws ApiRuleException { // 自定义入参校验 if (StringUtils.isBlank(getAccountId())) { throw new ApiRuleException("90000", "参数不能为空"); } } /** 用户在当前系统的唯一标识 */ @RequestField("用户在当前系统的唯一标识") private String accountId; public String getAccountId() { return accountId; } public void setAccountId(String accountId) { this.accountId = accountId; } } ``` 2、自定义接口响应Response,继承FddResponse。 ```java public class GetAccountResponse extends FddResponse { @ApiListField("data") @ApiField("data") // 自定义接口响应Data private List data; public List getData() { return data; } public void setData(List data) { this.data = data; } } ``` 3、自定义接口响应Data ```java public class AccountInfo extends BaseObject { /** * 用户在当前系统的唯一标识 */ @ApiField("accountId") private String accountId; /** * 用户在第三方业务系统的唯一标识 */ @ApiField("tpAccountId") private String tpAccountId; } ``` 4、自定义接口请求 ```java // 接口请求 GetAccountRequest request = new GetAccountRequest(); request.setAccountId("418018522430435328"); // 接口响应 GetAccountResponse response = fddClient.execute(request); if ("0".equals(response.getCode())) { // 响应Data List data = response.getData(); } ``` # 参考 FASC OP本地文档地址:https://xxx.fadada.com/doc 注意:文档地址参考实际项目地址,只能开放UAT环境查看。