一种生成接口层代码的方法、装置、介质和电子设备制造方法及图纸

技术编号:24613099 阅读:23 留言:0更新日期:2020-06-24 00:56
本公开提供了一种生成接口层代码的方法、装置、介质和电子设备。所述方法包括:在node.js框架中,获取采用接口描述语言撰写的第一文件;分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码。提升编码体验和程序健壮性,减少了学习成本。

A method, device, medium and electronic device for generating interface layer code

【技术实现步骤摘要】
一种生成接口层代码的方法、装置、介质和电子设备
本公开涉及计算机
,具体而言,涉及一种生成接口层代码的方法、装置、介质和电子设备。
技术介绍
对于B/S架构的应用程序一般由前端和后端两个部分组成。前端提供给用户一个可交互的操作界面,后端实现数据存储等基础功能和状态流转等业务功能。通常,前端通过超文本传输协议(英文全称HyperTextTransferProtocol),简称HTTP)向后端发出请求数据,后端的HTTP服务通过HTTP端口接收请求数据,按照请求数据调用相应函数进行处理,并将响应数据返回给前端。以实现数据的获取和保存。后端的HTTP服务框架封装了端口监听、HTTP请求解析、路由等功能,显著地减少了后端服务的开发工作量。但是,开发者需要手动调用框架提供的操作HTTP请求的应用程序编程接口(英文全称ApplicationProgrammingInterface,简称API)来获取HTTP请求数据或者设置HTTP响应数据。当获取HTTP请求数据时,开发者要根据事先约定的HTTP请求数据的格式以及数据的位置来确定具体的框架提供的API,才能通过调用该API获取数据。设置HTTP响应数据时同样如此。由于每个接口与HTTP交互的逻辑都不一样,接口层开发变成了一种繁琐的工作。Node.js框架是一个基于ChromeV8引擎的JavaScript运行环境,其采用事件驱动,以及非阻塞I/O模型,从而得以轻量和高效。基于Node.js的HTTP框架主要分为简约式和契约式两种。简约式框架只提供基础的框架能力,比如服务启动,原始请求解析,路由等,不对代码组织做任何约束。代表框架为Express、Koa。契约式框架严格定义了服务的分层架构和相应的代码组织方式,开发者需按照约定进行业务开发。代表框架为Egg.js。但是,无论是简约式框架,还是契约式框架,均需开发者根据HTTP请求的具体逻辑完成接口层开发工作。同样需要开发者付出大量的开发工作,且容易在开发中产生错误代码。
技术实现思路
提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开的目的在于提供一种生成接口层代码的方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:根据本公开的具体实施方式,第一方面,本公开提供一种生成接口层代码的方法,包括:在node.js框架中,获取采用接口描述语言撰写的第一文件;分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;其中,所述第一映射关系数据集合中每条记录均包括:第一请求消息标识、所述第一请求消息的位置和对应所述位置的第一请求数据;所述第一请求消息是满足超文本传输协议的请求消息;遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码;其中,所述第一处理代码,用于根据所述第一映射关系数据集合从接收的第二请求消息中获取所述第二请求数据,并把返回的第二响应数据设置到第二响应消息中。根据本公开的具体实施方式,第二方面,本公开提供一种生成接口层代码的装置,包括:获取第一文件单元,用于在node.js框架中,获取采用接口描述语言撰写的第一文件;分析第一文件单元,用于分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;其中,所述第一映射关系数据集合中每条记录均包括:第一请求消息标识、所述第一请求消息的位置和对应所述位置的第一请求数据;所述第一请求消息是满足超文本传输协议的请求消息;生成类型声明代码单元,用于遍历所述第一数据结构,获取数据名称和对应的数据类型,并生成所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;获取应用程序接口单元,用于基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;生成处理代码单元,用于在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码;其中,所述第一处理代码,用于根据所述第一映射关系数据集合从接收的第二请求消息中获取所述第二请求数据,并把返回的第二响应数据设置到第二响应消息中。本公开实施例的上述方案与现有技术相比,至少具有以下有益效果:本公开提供了一种生成接口层代码的方法、装置、介质和电子设备。所述方法包括:在node.js框架中,获取采用接口描述语言撰写的第一文件;分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;其中,所述第一映射关系数据集合中每条记录均包括:第一请求消息标识、所述第一请求消息的位置和对应所述位置的第一请求数据;所述第一请求消息是满足超文本传输协议的请求消息;遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码;其中,所述第一处理代码,用于根据所述第一映射关系数据集合从接收的第二请求消息中获取所述第二请求数据,并把返回的第二响应数据设置到第二响应消息中。本公开通过第一文件自动生成node.js框架接口层代码。有效提升编码体验和程序的健壮性。集成了请求消息的具体逻辑,有效地减少了对通讯协议和服务框架的学习成本。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:图1示出了根据本公开实施例的生成接口层代码的方法的流程图;图2示出了根据本公开实施例的生成接口层代码的装置的单元框图;图3示出了根据本公开的实施例的电子设备连接结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实本文档来自技高网
...

【技术保护点】
1.一种生成接口层代码的方法,其特征在于,包括:/n在node.js框架中,获取采用接口描述语言撰写的第一文件;/n分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;其中,所述第一映射关系数据集合中每条记录均包括:第一请求消息标识、所述第一请求消息的位置和对应所述位置的第一请求数据;所述第一请求消息是满足超文本传输协议的请求消息;/n遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;/n基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;/n在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码;其中,所述第一处理代码,用于根据所述第一映射关系数据集合从接收的第二请求消息中获取所述第二请求数据,并把返回的第二响应数据设置到第二响应消息中。/n

【技术特征摘要】
1.一种生成接口层代码的方法,其特征在于,包括:
在node.js框架中,获取采用接口描述语言撰写的第一文件;
分析所述第一文件,生成对应的第一数据结构及第一映射关系数据集合;其中,所述第一映射关系数据集合中每条记录均包括:第一请求消息标识、所述第一请求消息的位置和对应所述位置的第一请求数据;所述第一请求消息是满足超文本传输协议的请求消息;
遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码;
基于所述第一映射关系数据集合中的每条记录从预设的应用程序接口数据集合中分别获取对应的第一应用程序接口;
在所述接口层代码中,分别根据所述第一映射关系数据集合中的每条记录和对应的所述第一应用程序接口生成对应的第一处理代码;其中,所述第一处理代码,用于根据所述第一映射关系数据集合从接收的第二请求消息中获取所述第二请求数据,并把返回的第二响应数据设置到第二响应消息中。


2.根据权利要求1所述的方法,其特征在于,所述第一数据结构包括第一抽象语法树;所述第一抽象语法树的节点包括第一抽象名称和对应的第一抽象类型;
所述遍历所述第一数据结构,获取每个第一数据名称和对应的第一数据类型,并在所述接口层代码中基于每个第一数据名称和对应的第一数据类型生成对应的第一类型声明代码,包括:
获取预设的第一对应关系数据集合;所述第一对应关系数据集合包括第一抽象类型与对应的第一声明类型;
遍历所述第一抽象语法树的节点,获取与所述节点相关联的所述第一抽象名称和所述第一抽象类型;
基于每个所述第一抽象类型从所述第一对应关系数据集合中获取对应的所述第一声明类型;
基于每个第一抽象名称和对应的所述第一声明类型生成所述接口层代码中对应的第一类型声明代码。


3.根据权利要求2所述的方法,其特征在于,所述第一抽象名称包括父抽象名称及与所述父抽象名称相关联的子抽象名称;所述第一抽象类型包括对应所述父抽象名称的父抽象类型及与对应所述子抽象名称的子抽象类型;
所述遍历所述第一抽象语法树的节点,获取与所述节点相关联的所述第一抽象名称和所述第一抽象类型,包括:
遍历所述第一抽象语法树的节点,获取与所述节点相关联的所述父抽象名称和对应的所述父抽象类型;
基于所述父抽象类型递归调用所述第一抽象语法树中的节点,获取与所述父抽象类型相关联的子抽象名称及对应的子抽象类型。


4.根据权利要求1-3任一项所述的方法,其特征在于,所述接口层代码是TypeScript类型的代码;所述第一类型声明代码是TypeScript类型声明代码。


5.一种生成接口层代码的装置,其特征在于,包括:
获取第一文件单元,用于在node.js框架中,获取采用接口描述语言撰写的第一文件;
分析第一文件单元,用于分析所述第一文件,生成对应的第一数据结构及第一映射关...

【专利技术属性】
技术研发人员:邬亮
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1