CN111367547A - 接口代码自动同步方法、装置及存储介质 - Google Patents

接口代码自动同步方法、装置及存储介质 Download PDF

Info

Publication number
CN111367547A
CN111367547A CN202010122958.3A CN202010122958A CN111367547A CN 111367547 A CN111367547 A CN 111367547A CN 202010122958 A CN202010122958 A CN 202010122958A CN 111367547 A CN111367547 A CN 111367547A
Authority
CN
China
Prior art keywords
code
interface
description file
file
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010122958.3A
Other languages
English (en)
Inventor
谭龙智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Ping An International Smart City Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202010122958.3A priority Critical patent/CN111367547A/zh
Publication of CN111367547A publication Critical patent/CN111367547A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及开发辅助领域,提出一种接口代码自动同步方法、装置及计算机可读存储介质,该方法包括:在接口描述文件里面定义API属性;所述API属性包括:接口名称、请求参数和返回值;根据所述接口描述文件中的API属性生成各端的接口代码,各端的接口代码统一构成代码文件;在所述代码文件中提取代码特征构成代码特征集合,根据所述接口描述文件和所述代码特征集合生成代码指纹;所述代码特征依靠AC提取;比较代码指纹与描述文件中的API属性,判断代码是否更改,若代码更改,则根据接口描述文件自动生成新代码,并将所述新代码保存在代码服务器。

Description

接口代码自动同步方法、装置及存储介质
技术领域
本发明涉及开发辅助领域,尤其涉及一种接口代码自动同步方法、装置及计算机可读存储介质。
背景技术
在面向对象的程序开发中的类不支持客观世界中事物对象之间多重继承的情况,程序开发人员为了克服单一继承的缺点,解决多重继承的问题的背景下提出了接口的概念。在软件开发过程中,不可避免的会遇到新增接口参数、修改接口返回值、修改接口版本号等问题,为此所有调用此接口的客户端都需要重新改动,以达到接口兼容的目的,这种接口同步方式最大的问题是步骤繁琐,容易出错。
目前业界虽有通过接口描述文件自动生成接口代码的方式,但普遍停留在代码生成阶段,其前后端协作都是围绕定义的接口进行,现有的交互方式存在很多不足:很多时间花费在接口联调上面,经常因为接口一个小的调整,例如修改接口参数,前后端代码都得重新修改和联调,消耗太多不必要的人力;开发效率低,接口维护成本大,人工维护接口,很多时间花在同步和沟通上面,如果信息不能及时同步,各端接口因版本不一致容易出现线上事故;没有接口规范约束,接口代码各端不一致,几乎每个项目都有自己的规范,从一个项目换到另一个项目需要重新熟悉规范,增加学习成本;没有解决接口版本同步端都有可能修改接口代码的问题,依靠人为主动同步修改才能保持一致。
因此,亟须一种接口代码自动同步方法,以提高了软件开发过程中多端合作的效率,避免人为疏忽导致代码未及时更新到最新版本的问题,从而提高软件的稳定性。
发明内容
本发明提供一种接口代码自动同步方法、电子装置及计算机可读存储介质,其主要目的在于通过在所述接口描述文件里面定义API属性,然后通过所述接口描述文件生成各端的接口代码,各端的接口代码统一构成代码文件,进而在所述代码文件中提取代码特征构成代码特征集合,根据所述接口描述文件和所述代码特征集合生成代码指纹;所述代码特征依靠AC获取,再比较代码指纹与接口描述文件是否一致,若不一致,则根据接口描述文件自动生成新代码,并将所述新代码保存在代码服务器,当各端再次编译代码,则直接在所述代码服务器中拉取所述新代码,以提高了软件开发过程中多端合作的效率,避免人为疏忽导致代码未及时更新到最新版本的问题,从而提高软件的稳定性。
为实现上述目的,本发明提供的方法,应用于电子装置,所述接口代码自动同步方法包括:
在接口描述文件中定义API属性;所述API属性包括:接口名称、请求参数和返回值;
根据所述接口描述文件中的API属性生成各端的接口代码,然后将各端的接口代码统一构成代码文件;
在所述代码文件中提取代码特征构成代码特征集合,根据所述代码特征集合生成代码指纹;
比较所述代码指纹与所述接口描述文件中的API属性,判断代码是否更改,若代码更改,则根据所述接口描述文件自动生成新代码,并将所述新代码保存至代码服务器。
优选地,所述接口描述文件为基于Open API语法规则定义的json或xml格式的文件,所述接口描述文件按照Open API规则定义了所有接口的基本信息;所述基本信息至少包括API属性。
优选地,根据所述接口描述文件生成各端接口代码的过程包括:
选择生成各端代码的模板文件;
解析所述接口描述文件获取接口的API属性,结合所述模板文件生成接口代码。
优选地,所述模板文件为Java、OC、JavaScript模板文件,所述模板文件为mustache格式的文件。
优选地,通过解析所述接口描述文件获取接口的API属性,结合所述模板文件生成接口代码的过程为:
把所述接口描述文件中接口的API属性保存为接口变量值集合,用所述接口描述文件中的接口变量值替换所述模板文件中代码的变量以得到目标代码;
根据MD5值或SHA算法确定所述接口描述文件的唯一标识,并在各端目标代码中插入所述唯一标识。所述唯一标识为与所述接口描述文件对应的MD5值或SHA算法。
优选地,在所述代码文件中提取代码特征构成代码特征集合,根据所述接口描述文件和所述代码特征集合生成代码指纹的过程为:
进行代码预处理,以保留接口关键信息、剔除无关代码;所述接口关键信息至少包括:接口类名、函数名、参数、返回值;
在所述接口关键信息中提取接口代码特征生成代码特征集合;
根据所述代码特征集合利用特定算法生成代码指纹;所述特定算法为:MD5、SHA1、Karp-Rabin指纹算法;所述代码指纹以字符串的形式保存。
优选地,比较代码指纹与接口描述文件,判断代码是否更改的方法包括:
通过对比代码指纹与接口本地的代码,判断代码是否有做修改;
通过对比所述代码指纹中接口描述文件的唯一标识与生成代码的接口描述文件标识,判断所述接口描述文件是否有做修改。
优选地,比较所述代码指纹与所述接口描述文件中的API属性,判断代码是否更改的过程由用于进行接口版本一致性校验的触发机制完成。
为实现上述目的,本发明还提供一种电子装置,该装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权前述的接口代码自动同步方法中的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有接口代码自动同步程序,所述接口代码自动同步程序被处理器执行时,实现前述的接口代码自动同步方法的步骤。
本发明提出的接口代码自动同步方法、电子装置及计算机可读存储介质,从闭环处置入手,通过在接口描述文件里面定义API属性,然后通过该接口描述文件中的API属性生成各端的接口代码,各端的接口代码统一构成代码文件,进而在该代码文件中提取代码特征构成代码特征集合,根据该接口描述文件和该代码特征集合生成代码指纹;该代码特征依靠AC获取,再比较代码指纹与接口描述文件是否一致,若不一致,则根据接口描述文件自动生成新代码,并将该新代码保存在代码服务器,当各端再次编译代码,则直接在该代码服务器中拉取该新代码,以提高了软件开发过程中多端合作的效率,避免人为疏忽导致代码未及时更新到最新版本的问题,极大地提高软件的稳定性。
附图说明
图1为根据本发明实施例的接口代码自动同步方法的流程图;
图2为根据本发明实施例的接口代码自动同步方法的系统框架图;
图3为根据本发明实施例的电子装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在软件开发过程中,不可避免的会遇到新增接口参数、修改接口返回值、修改接口版本号等问题,为此所有调用此接口的客户端都需要重新改动,以达到接口兼容的目的,这种接口同步方式最大的问题是步骤繁琐,容易出错,为了解决这些问题,本发明从闭环处置入手,通过在接口描述文件里面定义API属性,然后通过该接口描述文件生成各端的接口代码,各端的接口代码统一构成代码文件,进而在该代码文件中提取代码特征构成代码特征集合,根据该接口描述文件和该代码特征集合生成代码指纹;该代码特征依靠AC获取,再比较代码指纹与接口描述文件是否一致,若不一致,则根据接口描述文件自动生成新代码,并将该新代码保存在代码服务器,当各端再次编译代码,则直接在该代码服务器中拉取该新代码,以提高了软件开发过程中多端合作的效率,避免人为疏忽导致代码未及时更新到最新版本的问题,从而提高软件的稳定性。
具体的,本发明提供一种接口代码自动同步方法,应用于一种电子装置30。
图1为根据本发明实施例的接口代码自动同步方法的流程图。如图1所示,在本实施例中,接口代码自动同步方法包括如下步骤:
S110:准备接口描述文件,在该接口描述文件里面定义API(APPLICATIONPROGRAMMING INTERFACE,应用程序编程接口)属性;该API属性包括:接口名称、请求参数和返回值;
接口描述文件一般是基于OpenAPI语法规则定义的json或yaml格式的文件,该接口描述文件按照OpenAPI规则定义了所有接口的名称、参数、返回值等接口的基本信息;可以手动书写,也可以通过接口管理平台(例如:YAPI平台)直接导出。
S120:根据该接口描述文件中的API属性生成各端的接口代码,然后将各端的接口代码统一构成代码文件;
在通过该接口描述文件生成各端接口代码,形成代码文件这一过程中,包括:
选择生成各端代码的模板文件;一般为Java、OC、JavaScript等模板文件,模板文件是一种固定格式(例如mustache)的文件。
通过解析接口描述文件获取接口的API属性,结合该模板文件生成接口代码;
具体的:①把接口描述文件里面定义的接口名、方法名、参数、返回值等接口信息保存为一个接口变量值集合;②在代码模板中用第一步得到的接口变量值替换模板中代码的变量,从而得到真正的代码。
前端、后端、客户端根据一个统一的接口描述文件和不同的代码模板来生成代码,在各端代码里面插入接口描述文件唯一标识;
该唯一标识可以是接口描述文件对应的MD5值或者SHA算法等。
S130:在该代码文件中提取代码特征构成代码特征集合,根据该代码特征集合生成代码指纹;
在该代码文件中提取代码特征构成代码特征集合,根据该接口描述文件和该代码特征集合生成代码指纹的过程中,包括:
S131:代码预处理,保留接口类、函数名、参数、返回值等接口关键信息,剔除无关代码;
S132:提取接口代码特征生成代码特征集合;该接口特征一般包括:接口类名、方法名、参数、返回值;
S133:根据代码特征集合利用特定算法生成代码指纹;该特定算法一般为:MD5、SHA1、Karp-Rabin指纹算法;该代码指纹以字符串的形式保存。
该代码指纹包括:①接口描述文件唯一性标识(例如文件MD5值),用来保证代码跟生成它接口描述文件一致。②各端代码接口名称、接口参数、返回值等特征集合,确保代码接口功能未被修改。
一般以key-value的形式保存接口文件对应的代码指纹,接口描述文件的唯一标识作为key,代码指纹作为value。
S140:比较代码指纹与接口描述文件中的API属性,判断代码是否更改,若代码更改,则根据该接口描述文件自动生成新代码,并将该新代码保存在代码服务器,当各端再次编译代码,则直接在该代码服务器中拉取该新代码。
在比较代码中的指纹与接口描述文件是否更改,并自动更新不一致的接口代码这一过程中,包括:
其中,代码指纹是根据接口代码生成的,代码生成后各端如果在本地自己修改了接口代码,就会导致代码指纹与最初生成时不一致,所以需要对比代码中的指纹与接口描述文件是否一致。
上述对比可以分为两种方式,一个是通过代码指纹对比本地的代码是否有做修改,另一个是通过指纹中接口描述文件的唯一标识对比生成代码的接口描述文件是否有做修改,经过对比,可及时地自动更新代码,避免人为疏忽导致代码未及时更新到最新版本的问题,从而提高软件的稳定性。
自动更新更改的接口代码:当指纹对比不通过时,自动利用最新的接口描述文件生成代码。
该自动更新不一致的接口代码过程包括:发现接口代码被修改(检测到代码指纹不一致),根据最新接口描述文件自动生成代码,保存在代码服务器,各端下次编译代码时从服务器拉取最新版本代码。
通过代码自动生成和代码指纹技术让各端接口同步实现自动化,包括:
在各端代码编译环节插入接口版本一致性校验的触发机制,该触发机制以统一的接口描述文件为依据,对比各端代码指纹,发现代码更改后后触发接口代码仓库中代码自动生成脚本,完成接口代码的生成,再推送到服务器各端完成代码编译。
本发明从闭环处置入手,通过在该接口描述文件里面定义API属性,然后通过接口描述文件生成各端的接口代码,各端的接口代码统一构成代码文件,进而在该代码文件中提取代码特征构成代码特征集合,根据该接口描述文件和代码特征集合生成代码指纹,再比较代码指纹与接口描述文件是否一致,若不一致,则根据接口描述文件自动生成新代码,并将该新代码保存在代码服务器,当各端再次编译代码,则直接在该代码服务器中拉取该新代码,以提高了软件开发过程中多端合作的效率,避免人为疏忽导致代码未及时更新到最新版本的问题,从而提高软件的稳定性。
图2为根据本发明实施例的接口代码自动同步系统200的框架图,该系统对应于接口代码自动同步方法,置于接口代码自动同步电子装置30中。该系统200包括定义模块210、代码生成模块220、指纹生成模块230、对比检测模块240和自动更新模块250。
定义模块210用于定义接口描述文件中的API属性,在接口描述文件里面定义接口名称、请求参数、返回值等软件API属性;接口描述文件为基于Open API语法规则定义的json或xml格式的文件,其按照Open API规则定义了所有接口的接口API属性,接口信息至少包括:名称、参数、返回值;接口描述文件通过手动书写或者通过接口管理平台直接导出;该接口管理平台为YAPI平台;
代码生成模块220用于通过该接口描述文件生成各端接口代码形成代码文件;
指纹生成模块230用于在代码文件中提取代码特征构成代码特征集合,根据接口描述文件和该代码特征集合生成代码指纹;通过接口描述文件生成各端接口代码,各端的接口代码统一构成代码文件的过程包括:
准备该接口描述文件;选择生成各端代码模板文件;通过解析该接口描述文件,结合各端代码模板生成代码。
对比检测模块240用于通过代码指纹对比本地的代码是否有做修改,通过指纹中接口描述文件的唯一标识对比生成代码的接口描述文件是否有做修改;
自动更新模块250用于在发现接口代码被修改(检测到代码指纹不一致)时,根据最新接口描述文件自动生成代码,保存在代码服务器,各端下次编译代码时从服务器拉取最新版本代码。
图3为根据本发明实施例的电子装置的逻辑结构示意图,在本实施例中,电子装置30可以是服务器、平板计算机、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置30包括:处理器31、存储器32、计算机程序33、网络接口及通信总线。
电子装置30可以是平板电脑、台式电脑、智能手机,但不限于此。
存储器32包括至少一种类型的可读存储介质。至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置30的内部存储单元,例如该电子装置30的硬盘。在另一些实施例中,可读存储介质也可以是电子装置30的外部存储器,例如电子装置30上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,存储器32的可读存储介质通常用于存储安装于电子装置30的计算机程序33等。
处理器31在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器32中存储的程序代码或处理数据,例如接口代码自动同步程序33等。
网络接口可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置30与其他电子设备之间建立通信连接。
通信总线用于实现这些组件之间的连接通信。
图3仅示出了具有组件31-33的电子装置30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
在图3所示的电子装置实施例中,作为一种计算机存储介质的存储器32中可以包括操作系统、以及接口代码自动同步程序33;处理器31执行存储器32中存储的接口代码自动同步程序33时实现如下步骤:
S110:在接口描述文件里面定义API属性;API属性包括:接口名称、请求参数和返回值;
S120:根据接口描述文件中的API属性生成各端的接口代码,然后将各端的接口代码统一构成代码文件;
S130:在代码文件中提取代码特征构成代码特征集合,根据接口描述文件和代码特征集合生成代码指纹;代码特征依靠AC提取;
S140:比较代码指纹与接口描述文件中的API属性,判断代码是否更改,若代码更改,则根据接口描述文件自动生成新代码,并将新代码保存在代码服务器,当各端再次编译代码,则直接在代码服务器中拉取该新代码。
接口描述文件为基于Open API语法规则定义的json或xml格式的文件,其按照Open API规则定义了所有接口的接口API属性,接口信息至少包括:名称、参数、返回值;接口描述文件通过手动书写或者通过接口管理平台直接导出;接口管理平台为YAPI平台。
通过接口描述文件生成各端接口代码,各端的接口代码统一构成代码文件的过程包括:
准备接口描述文件;
选择生成各端代码模板文件;
通过解析接口描述文件,结合各端代码模板生成代码。
模板文件为Java、OC、JavaScript模板文件,模板文件是一种固定格式的文件,固定格式为mustache格式。
通过解析接口描述文件,结合各端代码模板生成代码的过程为:
把接口描述文件里面定义的接口信息保存为接口变量值集合,用接口描述文件中的接口变量值替换模板中代码的变量,从而得到目标代码;
根据接口描述文件和不同的代码模板生成目标代码,并在各端目标代码里面插入描述文件的唯一标识,该唯一标识为根据接口描述文件对应的MD5值或SHA算法生成的。
在代码文件中提取代码特征构成代码特征集合,根据接口描述文件和代码特征集合生成代码指纹的过程为:
进行代码预处理,保留接口关键信息,剔除无关代码;接口关键信息至少包括:接口类名、函数名、参数、返回值;
在接口关键信息中提取接口代码特征生成代码特征集合;
根据代码特征集合利用特定算法生成代码指纹;特定算法为:MD5、SHA1、Karp-Rabin指纹算法;代码指纹以字符串的形式保存;
其中,以key-value的形式保存接口文件与代码指纹的对应关系,接口描述文件的唯一标识作为key,代码指纹作为value。
在比较代码指纹与接口描述文件是否一致的过程中,包括:
比较代码指纹与接口描述文件是否一致的方法包括:通过对比代码指纹与本地的代码,判断代码是否有做修改;通过对比代码指纹中接口描述文件的唯一标识与生成代码的接口描述文件标识,判断接口描述文件是否有做修改。
根据最新接口描述文件自动生成新代码的过程为通过代码自动生成和代码指纹技术让各端接口同步实现自动化,包括:
在各端代码编译环节插入接口版本一致性校验的触发机制,以接口描述文件为依据,对比各端代码指纹,若不一致,则触发接口代码仓库中代码自动生成脚本,完成接口代码生成后,将新代码推送到各端完成代码编译。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质中包括接口代码自动同步程序,该接口代码自动同步程序被处理器执行时实现接口代码自动同步方法的步骤:
S110:在接口描述文件里面定义API属性;API属性包括:接口名称、请求参数和返回值;
S120:根据接口描述文件中的API属性生成各端的接口代码,然后将各端的接口代码统一构成代码文件;
S130:在代码文件中提取代码特征构成代码特征集合,根据代码特征集合生成代码指纹;该代码特征依靠AC提取;
S140:比较代码指纹与接口描述文件中的API属性,判断代码是否更改,若代码更改,则根据接口描述文件自动生成新代码,并将新代码保存在代码服务器,当各端再次编译代码,则直接在代码服务器中拉取新代码。
本发明之计算机可读存储介质的具体实施方式与接口代码自动同步方法、电子装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种接口代码自动同步方法,应用于电子装置,其特征在于,所述方法包括:
在接口描述文件中定义API属性;所述API属性包括:接口名称、请求参数和返回值;
根据所述接口描述文件中的API属性生成各端的接口代码,然后将各端的接口代码统一构成代码文件;
在所述代码文件中提取代码特征构成代码特征集合,根据所述代码特征集合生成代码指纹;
比较所述代码指纹与所述接口描述文件中的API属性,判断代码是否更改,若代码更改,则根据所述接口描述文件自动生成新代码,并将所述新代码保存至代码服务器。
2.根据权利要求1所述的接口代码自动同步方法,其特征在于,所述接口描述文件为基于Open API语法规则定义的json或xml格式的文件,所述接口描述文件按照Open API规则定义了所有接口的基本信息;所述基本信息至少包括所述API属性。
3.根据权利要求1所述的接口代码自动同步方法,其特征在于,根据所述接口描述文件中的API属性生成各端接口代码的过程包括:
选择生成各端代码的模板文件;
解析所述接口描述文件获取接口的API属性,结合所述模板文件生成接口代码。
4.根据权利要求3所述的接口代码自动同步方法,其特征在于,所述模板文件为Java、OC、JavaScript模板文件,所述模板文件为mustache格式的文件。
5.根据权利要求3所述的接口代码自动同步方法,其特征在于,通过解析所述接口描述文件获取接口的API属性,结合所述模板文件生成接口代码的过程为:
把所述接口描述文件中接口的API属性保存为接口变量值集合,用所述接口描述文件中的接口变量值替换所述模板文件中代码的变量以得到目标代码;
根据MD5值或SHA算法确定所述接口描述文件的唯一标识,并在各端目标代码中插入所述唯一标识。
6.根据权利要求1所述的接口代码自动同步方法,其特征在于,在所述代码文件中提取代码特征构成代码特征集合,根据所述代码特征集合生成代码指纹的过程为:
进行代码预处理,以保留接口关键信息、剔除无关代码;所述接口关键信息至少包括:接口类名、函数名、参数、返回值;
在所述接口关键信息中提取接口代码特征生成代码特征集合;
根据所述代码特征集合利用特定算法生成代码指纹;所述特定算法为:MD5、SHA1、Karp-Rabin指纹算法;所述代码指纹以字符串的形式保存。
7.根据权利要求1所述的接口代码自动同步方法,其特征在于,比较代码指纹与接口描述文件,判断代码是否更改的方法包括:
通过对比代码指纹与接口本地的代码,判断代码是否有做修改;
通过对比所述代码指纹中接口描述文件的唯一标识与生成代码的接口描述文件标识,判断所述接口描述文件是否有做修改。
8.根据权利要求1所述的接口代码自动同步方法,其特征在于,比较所述代码指纹与所述接口描述文件中的API属性,判断代码是否更改的过程由用于进行接口版本一致性校验的触发机制完成。
9.一种电子装置,其特征在于,该电子装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的接口代码自动同步方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有接口代码自动同步方法程序,所述接口代码自动同步方法程序被处理器执行时,实现如权利要求1至8中任一项所述的接口代码自动同步方法的步骤。
CN202010122958.3A 2020-02-27 2020-02-27 接口代码自动同步方法、装置及存储介质 Pending CN111367547A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010122958.3A CN111367547A (zh) 2020-02-27 2020-02-27 接口代码自动同步方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010122958.3A CN111367547A (zh) 2020-02-27 2020-02-27 接口代码自动同步方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111367547A true CN111367547A (zh) 2020-07-03

Family

ID=71210127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010122958.3A Pending CN111367547A (zh) 2020-02-27 2020-02-27 接口代码自动同步方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111367547A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984228A (zh) * 2020-07-09 2020-11-24 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN112764751A (zh) * 2021-01-27 2021-05-07 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN112965705A (zh) * 2021-03-10 2021-06-15 中国民航信息网络股份有限公司 微服务接口的发布方法、装置、电子设备和存储介质
CN114168119A (zh) * 2021-12-07 2022-03-11 北京百度网讯科技有限公司 代码文件编辑方法、装置、电子设备以及存储介质
CN114253520A (zh) * 2020-09-21 2022-03-29 北京字节跳动网络技术有限公司 接口代码生成方法和装置
CN115098085A (zh) * 2022-06-23 2022-09-23 北京新唐思创教育科技有限公司 接口对象的生成方法、装置、电子设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984228A (zh) * 2020-07-09 2020-11-24 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN111984228B (zh) * 2020-07-09 2023-12-12 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN114253520A (zh) * 2020-09-21 2022-03-29 北京字节跳动网络技术有限公司 接口代码生成方法和装置
CN114253520B (zh) * 2020-09-21 2024-03-12 抖音视界有限公司 接口代码生成方法和装置
CN112764751A (zh) * 2021-01-27 2021-05-07 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN112764751B (zh) * 2021-01-27 2024-05-24 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN112965705A (zh) * 2021-03-10 2021-06-15 中国民航信息网络股份有限公司 微服务接口的发布方法、装置、电子设备和存储介质
CN112965705B (zh) * 2021-03-10 2024-06-04 中国民航信息网络股份有限公司 微服务接口的发布方法、装置、电子设备和存储介质
CN114168119A (zh) * 2021-12-07 2022-03-11 北京百度网讯科技有限公司 代码文件编辑方法、装置、电子设备以及存储介质
CN114168119B (zh) * 2021-12-07 2024-04-05 北京百度网讯科技有限公司 代码文件编辑方法、装置、电子设备以及存储介质
CN115098085A (zh) * 2022-06-23 2022-09-23 北京新唐思创教育科技有限公司 接口对象的生成方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111367547A (zh) 接口代码自动同步方法、装置及存储介质
CN111061643B (zh) Sdk集群的兼容性检测方法、装置、电子设备及存储介质
CN110955416A (zh) 接口文档生成方法、装置、设备和计算机存储介质
CN110262783B (zh) 一种接口生成方法、装置及终端设备
CN108920691B (zh) 前端静态资源的管理方法、装置、计算机设备及存储介质
CN111611284A (zh) 一种物料清单生成方法和电子设备
CN113157315A (zh) 一种软件不同版本的差异信息识别方法、装置、设备及介质
CN111831920A (zh) 用户需求分析方法、装置、计算机设备及存储介质
CN109634569B (zh) 基于注解的流程实现方法、装置、设备及可读存储介质
CN111338669A (zh) 智能分析盒子中智能功能的更新方法及装置
CN113515303B (zh) 一种项目转型方法、装置和设备
CN113268232B (zh) 一种页面皮肤生成方法、装置和计算机可读存储介质
CN112527738A (zh) 项目描述文件优化方法、系统及存储介质
CN112800194B (zh) 一种接口变更识别方法、装置、设备及存储介质
CN113595762B (zh) 一种网卡配置的保存方法及装置
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质
CN115407971A (zh) 软件制品生成方法及装置
CN112131022B (zh) 开放api管理方法、装置、系统与计算机可读存储介质
CN113590179A (zh) 插件检测方法、装置、电子设备及存储介质
CN112667874A (zh) 网页的数据抽取方法、装置、电子设备及存储介质
CN112817953A (zh) 一种数据校验的方法、装置、计算机设备及计算机可读存储介质
CN112487997A (zh) 一种人像特征提取方法及装置
CN106648925B (zh) 移动终端及其字符串信息的获取方法
CN113467781B (zh) 一种冗余文件的确定方法、装置和设备
CN117290314A (zh) 基于二进制包的资源提取方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210129

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination