【技术实现步骤摘要】
服务接口的代码校验方法、装置、设备及存储介质
[0001]本公开涉及代码识别
,尤其涉及服务接口的代码校验方法
、
装置
、
设备及存储介质
。
技术介绍
[0002]在代码开发工作中,一般新需求开发前,开发人员需要提前设计定义好本次需求相关的服务接口的描述信息,例如方法签名
、
出入参或接口含义等信息
。
而设计产物,通常是以离
/
在线文档来承接
。
一些应用场景对接口字段有较高的规范要求,因此一般都会在某个应用开发平台中完成设计
/
定义接口工作
。
但在实际代码开发过程中,开发人员可能会随时修改接口相关信息,造成平台中的设计稿和实际代码不一致,从而让平台失去对代码规范的约束能力
。
技术实现思路
[0003]为克服相关技术中存在的问题,本公开提供了服务接口的代码校验方法
、
装置
、
设备及存储介质
。
[0004]根据本说明书实施例的第一方面,提供一种服务接口的代码校验方法,所述方法应用于应用开发管理平台,所述平台维护了对待开发的基于
Java
语言的服务接口预定义的接口描述信息,所述接口描述信息包括为所述服务接口预定义的
Java
注解信息,所述
Java
注解信息包括预定义的预设注解名称;所述方法包括:
[0005]响应于针对代码仓库的代 ...
【技术保护点】
【技术特征摘要】
1.
一种服务接口的代码校验方法,所述方法应用于应用开发管理平台,所述平台维护了对待开发的基于
Java
语言的服务接口预定义的接口描述信息,所述接口描述信息包括为所述服务接口预定义的
Java
注解信息,所述
Java
注解信息包括预定义的预设注解名称;所述方法包括:响应于针对代码仓库的代码扫描事件,从所述代码仓库中获取基于
Java
编程语言开发完成的至少一份源码文件;获取用户在源码文件中编写的接口描述信息;其中,获取到的接口描述信息包括:从针对所述至少一份源码文件进行编译得到的至少一份
class
文件中的目标
class
文件中解析出的与所述预设注解名称对应的
Java
注解信息;所述目标
class
文件为包含所述预设注解名称的
class
文件;校验所述预定义的接口描述信息和获取到的接口描述信息是否相同
。2.
根据权利要求1所述的方法,所述获取到的接口描述信息,还包括通过如下方式得到的信息:从所述至少一份源码文件中,获取与所述目标
class
文件对应的目标源码文件;将所述目标源码文件转换为抽象语法树;从所述抽象语法树中识别出用户编写的方法,进一步获取所述用户编写的方法的方法签名信息和
/
或注释信息
。3.
根据权利要求2所述的方法,所述从所述抽象语法树中识别出用户编写的方法,包括:根据预设的默认方法的方法名,从所述抽象语法树中排除默认方法,得到用户编写的方法
。4.
根据权利要求2所述的方法,所述获取到的接口描述信息,还包括通过如下方式得到的信息:在内存中加载所述至少一份
class
文件,以将所述
class
文件包含的
class
对象转换成运行时对象;若所述用户编写的方法的方法签名信息中方法的入参类型和
/
或返回值类型并非基本类型,基于
Java
编程语言的反射机制,对所述运行时对象进行反射处理,以获取所述用户编写的方法的入参和
/
...
【专利技术属性】
技术研发人员:陈俊丰,王子平,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。