Springboot+maven+java
官方API文档
官方SDK下载
目录
目录
开发前准备
1.点下方链接注册法大大测试环境个人账户【电子合同_电子签名_电子签章】专业签约SaaS服务平台-法大大
2.根据官网接入指南完成应用创建(这一步跟着文档走就好,测试数据可不为真实,营业执照下载官方提供的即可)
3.创建完应用后你应该得到一个状态为[已上线]的应用,点开应用可以获得appId,openId,appSecret等,用于后续与我们系统绑定
在【模板】中一个文档模板,用于下文测试
完成后可在官方API在线调试(下文链接)测试下是否创建顺利且可用,其中idType表示主体类型,corp-企业,person-个人,选择corp
项目整合
1.在pom文件加上sdk的maven依赖,其中jaxb-api,我这边不加项目会出问题,在解密的时候找不到类,说是什么版本太低找不到,所以自己加上这个依赖就可以了
<dependency> <groupId>com.fadada.api</groupId> <artifactId>fasc-openapi-java-sdk</artifactId> <version>5.4.9.0705</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency>
2.yml配置文件
spring: application: name: fadadaTest server: port: 8080 fadada: oppenCorpId: 应用详情中复制 appId: 应用详情中复制 appSecret: 应用详情中复制 serverUrl: https://uat-api.fadada.com/api/v5/
3.创建配置文件
@Configuration
@Data
public class FadadaCondig {
@Value("${fadada.appId}")
private String appId;
@Value("${fadada.appSecret}")
private String appSecret;
@Value("${fadada.serverUrl}")
private String serverUrl;
@Value("${fadada.oppenCorpId}")
private String oppenCorpId;
@Bean
public OpenApiClient appClient() {
return new OpenApiClient(appId, appSecret, serverUrl);
}
//获取凭证
public String getAccessToken(OpenApiClient openApiClient) throws ApiException {
ServiceClient serviceClient = new ServiceClient(openApiClient);
BaseRes<AccessTokenRes> res = serviceClient.getAccessToken();
ResultUtil.printLog(res, openApiClient.getJsonStrategy());
return res.getData().getAccessToken();
}
}
4.创建controller调用接口,测试sdk使用
功能1:查询文档模板列表
@RestController
@RequestMapping("/test")
public class TestController {
@Resource
private FadadaCondig fadadaCondig;
@GetMapping("/list")
public BaseRes<DocTemplateListRes> test() throws ApiException {
OpenApiClient apiClient = fadadaCondig.appClient();
TemplateClient templateClient = new TemplateClient(apiClient);
//获取应用accessToken
String accessToken = fadadaCondig.getAccessToken(apiClient);
//查询文档模板列表
GetDocTemplateListReq docTemplateListReq = new GetDocTemplateListReq();
docTemplateListReq.setAccessToken(accessToken);
docTemplateListReq.setOwnerId(OpenId.getInstance("corp", fadadaCondig.getOppenCorpId()));
docTemplateListReq.setListPageNo(1);
docTemplateListReq.setListPageSize(10);
BaseRes<DocTemplateListRes> res = templateClient.getDocTemplateList(docTemplateListReq);
return res;
}
}
请求结果
到此就完成sdk引入跟一个简单接口调用的例子,其他接口类似,请参考官方API,后续如果有更新其他接口使用会补充本文,若无,本文已完成最基本使用介绍~
功能2:文档模板字段填充
首先在文档模板上添加控件
拉一个控件,如文本控件,注意右下方【控件编码】,用于跟我们自定义数据进行绑定
代码如下,部分参数,魔法值请根据自己需求修改为入参
//模板填充生成新文件
@GetMapping("/setValue")
public BaseRes<DocTemplateFillValuesRes> test3(@RequestParam(required = true)String value) throws ApiException {
OpenApiClient apiClient = fadadaCondig.appClient();
TemplateClient templateClient = new TemplateClient(apiClient);
String accessToken = fadadaCondig.getAccessToken(apiClient);
DocTemplateFillValuesReq req = new DocTemplateFillValuesReq();
req.setAccessToken(accessToken);
req.setOpenCorpId(fadadaCondig.getOppenCorpId());
req.setDocTemplateId("1721108547379196747");
req.setFileName("生成新文件名字");
List<DocTemplateFillValuesReq.DocFieldValue> values = new ArrayList<>();
DocTemplateFillValuesReq.DocFieldValue info = new DocTemplateFillValuesReq.DocFieldValue();
info.setFieldId("test1");
//info.setFieldName();
info.setFieldValue(value);
values.add(info);
req.setDocFieldValues(values);
BaseRes<DocTemplateFillValuesRes> res = templateClient.docTemplateFillValues(req);
return res;
}
测试
打开链接,下载文件得到如图,文本插入完毕