SDK进阶使用指南
SDK设计目的
SDK是为了简化用户的调用过程而诞生的,使开发更容易上手,只需要关注业务本身而不用理解复杂的http调用过程。
SDK主要做了以下工作:
1、sdk封装处理了请求参数,用户只需要给具体的接口业务数据即可。详情参考https://openapi.open.kingdee.com/ApiDoc中的请求参数示例。
2、sdk中的每个接口调用时header都携带了第三方登录授权加密信息。第三方登录授权信息从配置文件中读取,或者由用户在代码中赋值。
3、sdk中的k3cloudApi类的一个实例就代表了一个会话。当新建了一个k3cloudApi的实例并执行第一次接口调用成功后,返回的sessionId将被存储,且该实例的每次接口调用都会携带sessionId。因此每个新的K3CloudApi实例在第一次调用接口时用时会较长,后续继续使用时速度会显著变快。
4、对返回结果做处理和封装。
对于非WebApi的接口(即接口本身没有继承AbstractWebApiBusinessService类)
调用时需要先进行一次手动登录,再执行后续操作。
JAVA示例如下:
K3CloudApi api= new K3CloudApi();
Object[] parameters = new Object[] { "1774791181494921216", "demo2", "266181_247qxwCt4qAYwZ0I443tUzUsyMxZ2oKt", "07317571e65c4781b68f8a55083b9176", 1033 }; api.execute("Kingdee.BOS.WebApi.ServicesStub.AuthService.LoginByAppSecret", parameters);
String data = "{\n" + " \"FormId\": \"BD_Department\",\n" + " \"FieldKeys\": \"FNUMBER,FNAME,FHELPCODE,FFORBIDSTATUS,FDEPTID,FUseOrgId.fnumber,FDocumentStatus \",\n" + " \"FilterString\": \"FNumber='BM000144'\",\n" + " \"OrderString\": \"\",\n" + " \"TopRowCount\": 0,\n" + " \"StartRow\": 0,\n" + " \"Limit\": 2000,\n" + " \"SubSystemId\": \"\"\n" + "}";
List list = api.executeBillQuery(data);
System.out.println(list);
SDK进阶使用指南
本文2024-09-23 04:02:08发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162690.html