[发明专利]应用程序编程接口生成方法及装置有效
申请号: | 201611050070.3 | 申请日: | 2016-11-24 |
公开(公告)号: | CN108108162B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 朱辉云;郭计伟;胡育辉;陈焕葵;陈云云;覃竞才 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 朱雅男 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 编程 接口 生成 方法 装置 | ||
1.一种应用程序编程接口生成方法,其特征在于,所述方法包括:
获取应用程序编程接口API的协议文档;
获取所述协议文档中包含的参数信息,并确定所述API的函数模版,所述参数信息包括至少一个参数以及所述至少一个参数的类型,或者,所述参数信息包括所述至少一个参数、所述至少一个参数的类型以及所述至少一个参数之间的嵌套关系;
根据所述参数信息,基于所述函数模版生成所述API的调用函数,所述调用函数用于实现所述API的调用逻辑;
生成与所述至少一个参数以及所述至少一个参数的类型相对应的被调用函数,所述被调用函数用于在所述调用函数的调用下实现对参数的字节序互转、序列化以及反序列化中的至少一种功能;
将所述调用函数和所述被调用函数组合生成所述API。
2.根据权利要求1所述的方法,其特征在于,所述确定所述API的函数模版,包括:
确定开发语言类型,并确定所述API的调用函数的函数名;
根据所述开发语言类型以及所述函数名确定所述函数模版。
3.根据权利要求2所述的方法,其特征在于,所述确定所述API的调用函数的函数名,包括:
展示函数名设置界面;
根据在所述函数名设置界面中执行的设置操作确定所述函数名。
4.根据权利要求1至3任一所述的方法,其特征在于,所述获取所述参数信息,包括:
当所述协议文档的协议格式为定长协议格式时,对所述协议文档进行语法分析,获得所述参数信息;
当所述协议文档的协议格式为不定长协议格式时,通过编译工具对所述协议文档进行编译,获得所述协议文档的编译文件,从所述编译文件中提取所述参数信息。
5.根据权利要求1至3任一所述的方法,其特征在于,所述获取所述参数信息,包括:
展示参数选择界面,所述参数选择界面中包含所述协议文档中包含的各个参数;
根据对所述参数选择界面中的所述至少一个参数的选择操作,获取所述参数信息。
6.根据权利要求1所述的方法,其特征在于,所述生成与所述至少一个参数以及所述至少一个参数的类型相对应的被调用函数,包括:
当所述协议文档的协议格式为定长协议格式时,根据所述至少一个参数以及所述至少一个参数的类型,按照所述协议格式对应的被调用函数格式生成所述被调用函数;
当所述协议文档的协议格式为不定长协议格式时,通过编译工具对所述协议文档进行编译,获得所述协议文档的编译文件,从所述编译文件中提取所述被调用函数。
7.一种应用程序编程接口生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取应用程序编程接口API的协议文档;
第二获取模块,用于获取所述协议文档中包含的参数信息,所述参数信息包括至少一个参数以及所述至少一个参数的类型,或者,所述参数信息包括所述至少一个参数、所述至少一个参数的类型以及所述至少一个参数之间的嵌套关系;
模版确定模块,用于确定所述API的函数模版;
生成模块,包括:
第一生成单元,用于根据所述参数信息,基于所述函数模版生成所述API的调用函数,所述调用函数用于实现所述API的调用逻辑;
第二生成单元,用于生成与所述至少一个参数以及所述至少一个参数的类型相对应的被调用函数,所述被调用函数用于在所述调用函数的调用下实现对参数的字节序互转、序列化以及反序列化中的至少一种功能;
组合单元,用于将所述调用函数和所述被调用函数组合生成所述API。
8.根据权利要求7所述的装置,其特征在于,所述模版确定模块,包括:
类型确定单元,用于确定开发语言类型;
函数名确定单元,用于确定所述API的调用函数的函数名;
模版确定单元,用于根据所述开发语言类型以及所述函数名确定所述函数模版。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611050070.3/1.html,转载请声明来源钻瓜专利网。