【技术实现步骤摘要】
一种生成接口层代码的方法、装置、介质和电子设备
本公开涉及计算机
,具体而言,涉及一种生成接口层代码的方法、装置、介质和电子设备。
技术介绍
对于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框架主要分为简约式和契约式两种。简约式框架只提供基础的框架能 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。