# fadada-java-sdk-api3 **Repository Path**: github-6308149/fadada-java-sdk-api3 ## Basic Information - **Project Name**: fadada-java-sdk-api3 - **Description**: 法大大SDK (Java版) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2022-04-14 - **Last Updated**: 2022-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### **1、适用语言** ​ JAVA [jar包下载](https://gitee.com/fadada-tech/fadada-java-sdk-api3/releases) ### **2、SDK支持的环境** ​ JAVA JDK 版本: JDK 1.7-1.8 ### 3、引用jar包 ​ 引入sdk 所依赖的jar包,提供全流程的方法,提供的方法调用云端法大大api服务。 ```xml org.apache.httpcomponents httpclient 4.5.12 org.apache.httpcomponents httpmime 4.5.8 com.fasterxml.jackson.core jackson-databind 2.10.1 org.slf4j slf4j-log4j12 1.7.25 commons-logging commons-logging 1.2 ``` ### 4、始化客户端 ​ 项目启动后必须先进行初始化,才能调用jar包方法。初始化仅需一次,之后可重复使用 ​ 法大大分配的appid,appkey,本地客户端地址,请求超时等信息在初始化时作为入参传入。 ```java public String APPID = "xxxxx";//法大大分配的接入id public String APPKEY = "xxxxx";//法大大分配的appid对应的key public String SERVERURL = "";//指定环境请求url // 默认正式环境初始化 DefaultFadadaApiClient client = new DefaultFadadaApiClient(APPID, APPKEY); // 指定环境初始化 DefaultFadadaApiClient client = new DefaultFadadaApiClient(APPID, APPKEY, SERVERURL); // 配置超时时间(默认是不设置超时时间) FadadaApiConfig fadadaApiConfig = new FadadaApiConfig(); fadadaApiConfig.setReadTimeout(10000); // 读取数据超时时间 单位(ms) fadadaApiConfig.setConnectTimeout(10000); // 连接超时时间 单位(ms) DefaultFadadaApiClient client = new DefaultFadadaApiClient(APPID, APPKEY, SERVERURL, fadadaApiConfig); // DefaultFadadaApiServiceImpl实现了接口FadadaApiService接口提供了json字符串转换以及http请求方法 // 如果要自定义实现json和http方法,只需要实现FadadaApiService接口方法 FadadaApiService fadadaApiService = new DefaultFadadaApiServiceImpl(); DefaultFadadaApiClient client = new DefaultFadadaApiClient(APPID, APPKEY, SERVERURL, fadadaApiConfig, fadadaApiService); // ^ // | // (fadadaApiService替换成自定义实现的类的对象) // 参数SERVERURL,fadadaApiService如果为空就采用默认的参数, fadadaApiConfig为空就默认不设置超时时间 ``` ### 5、业务方法调用 ​ 基础父类DefaultFadadaClient可以构造生成对应业务模块的client,调用具体的业务方法。 - ​ Oauth2Client 为oauth授权码服务 - AccountClient为账号服务 - ​ DocumentClient为文件服务 - ​ SignTaskClient为签署服务 - EmployeeClient为员工服务 - SealClient为签章服务 - TemplateClient为模板服务 除了Oauth2Client外,每个业务模块的方法调用时都需要传token参数。 下面以获取个人union地址的方法调用为例展示调用过程: ```java //1、获取AccessToken(client为上一步初始化客户端得到DefaultFadadaApiClient对象) //token有效期2小时,获取后可缓存起来不用每次重新调用 Oauth2Client oauth2Client = new Oauth2Client(client); String token = oauth2Client.getToken().getData().getAccessToken(); //2、封装业务请求对象。 GetPersonUnionIdUrlReq req = new GetPersonUnionIdUrlReq(); req.setToken(token); req.setClientId("xxxxx"); req.setRedirectUrl("xxxxx"); //3、构造业务accountClient,调用对应的业务方法 AccountClient accountClient = new AccountClient(client); BaseRsp rsp = accountClient.getPersonUnionIdUrl(req); ``` 更多示例详见demo代码。