一种基于制造技术

技术编号:39801688 阅读:9 留言:0更新日期:2023-12-22 02:32
本发明专利技术公开了一种基于

【技术实现步骤摘要】
一种基于DSL解析资源生成API的方法


[0001]本专利技术涉及一种生成
API
的方法,尤其涉及一种基于
DSL
解析资源生成
API
的方法


技术介绍

[0002]在当今软件开发领域,随着互联网的快速发展和信息交互的增加,
API
的重要性日益凸显
。API
作为不同软件系统之间进行交互和集成的桥梁,扮演着关键的角色

传统的
API
开发过程通常需要消耗大量的时间和精力,涉及繁琐的编码工作和复杂的逻辑处理,为了提高开发效率和代码质量,许多开发人员使用代码生成技术来自动生成
API
代码

现有的
API
代码生成工具,有几大缺点:一

需要手动编写用于定义接口的路径

参数

格式等详细信息的规约文件,并且生成的代码中缺少业务逻辑,需要生成后手动修改;二

直接基于数据源和代码模板生成代码的方法,这种方法生成的代码完全基于静态模板和数据库表结构的,需要手动对接口进行调整,缺乏灵活性


技术实现思路

[0003]为了解决上述技术所存在的不足之处,本专利技术提供了一种基于
DSL
解析资源生成
API
的方法

[0004]为了解决以上技术问题,本专利技术采用的技术方案是:一种基于
DSL
解析资源生成
API
的方法,包括:步骤
S1
:配置资源,对资源进行解析,根据解析后提取到的信息生成基于
DSL
的规约文件;步骤
S2
:解析规约文件,生成基于
Golang
语言的服务代码;步骤
S3
:生成的服务代码编译成二进制文件,将二进制文件推送到服务器中,实现对
API
服务的自动化部署

[0005]进一步地,本专利技术基于
DSL
解析资源生成
API
的方法的步骤
S1
中,包括:配置资源,解析资源后,提取资源的结构类型和属性信息;根据提取到的资源的结构类型和属性信息生成基于
DSL
并包括原子接口定义的规约文件;资源的结构类型包括但不限于数据源

缓存

文件,通过使用
JAVA SPI
机制并引入
jar
包增加资源的种类;规约文件中包括接口信息;接口信息包括但不限于原子接口的接口路径

接口参数名称

接口参数格式;用户根据需求修改规约文件中接口信息的内容,包括但不限于接口的路径

参数的类型和默认值

[0006]进一步地,本专利技术基于
DSL
解析资源生成
API
的方法的步骤
S2
中,解析规约文件,生成基于
Golang
语言的服务代码,包括:将规约文件中定义的接口路径

参数和格式信息转化为相应的代码结构;解析规约文件后,根据规约文件和资源信息结构通过代码模板生成基于
Golang
语言的服务代码;
基于
Golang
语言的服务代码中包括增加

修改

查询详情

分页查询列表数据和删除接口,并且符合规约文件的定义

[0007]进一步地,本专利技术基于
DSL
解析资源生成
API
的方法,包括:在步骤
S1
之前完成
Gitlab
代码仓库的配置和服务器的部署;基于
Golang
语言的服务代码服务代码推送到
Gitlab
代码仓库,再通过
Gitlab

CI
执行
go build
命令将服务代码编译成可执行的二进制文件;将二进制文件推送到指定的服务器后通过脚本运行,实现对
API
服务的自动化部署

[0008]本专利技术公开了一种基于
DSL
解析资源生成
API
的方法,规范化定义了规约文件的结构,通过抽取资源属性,解析资源生成规约文件,解析规约文件生成代码和
API
服务自动化部署技术,进行了实验验证

实验结果表明,本专利技术有如下有益效果:一

能够解决现有系统需要快速生成
API
的问题,服务接口能满足对资源的增删改查基本操作需求,提高了
API
代码开发效率;二

生成的代码符合规约文件的定义,保证了代码的一致性和正确性;三

通过引入
jar
包增加资源种类的功能,使用该技术更具有灵活性和可定制化

附图说明
[0009]图1为本专利技术的解析资源生成
API
的系统结构图

[0010]图2为本专利技术的自定义资源类型引入原理图

[0011]图3为本专利技术的规约文化格式示意图

[0012]图4为本专利技术的资源解析生成规约文件流程图

[0013]图5为本专利技术的
API
生成流程图

具体实施方式
[0014]下面结合附图和具体实施方式对本专利技术作进一步详细的说明

[0015]本专利技术的技术原理如下:如图1所示的基于
DSL
解析资源生成
API
方法的系统结构图,整体流程为基础配置

资源配置

规约文件生成和
API
生成,包括:步骤
S1
:设置基础配置

基础配置包括部署服务配置和
Gitlab
代码仓库配置;步骤
S2
:配置资源,对资源进行解析,根据解析后提取到的资源的结构类型和属性信息生成基于
DSL

Domain

Specific Language
领域特定语言)并包括原子接口定义的规约文件,用于描述接口信息

规约文件中的主要内容包括
Swagger
信息

入参出参信息和接口信息三部分内容,
Swagger
信息中包括标题

描述

作者

版本信息,用于生成
Swagger JSON
文件,便于与其他工具(如...

【技术保护点】

【技术特征摘要】
1.
一种基于
DSL
解析资源生成
API
的方法,其特征在于,包括以下步骤:步骤
S1
:配置资源,对资源进行解析,根据解析后提取到的信息生成基于
DSL
的规约文件;步骤
S2
:解析规约文件,生成基于
Golang
语言的服务代码;步骤
S3
:生成的基于
Golang
语言的服务代码编译成二进制文件,将二进制文件推送到服务器中,实现对
API
服务的自动化部署
。2.
根据权利要求1所述的基于
DSL
解析资源生成
API
的方法,其特征在于:所述步骤
S1
中,解析资源后,提取资源的结构类型和属性信息,根据提取到的资源结构类型和属性信息生成基于
DSL
并包括原子接口定义的规约文件
。3.
根据权利要求2所述的基于
DSL
解析资源生成
API
的方法,其特征在于:所述资源的结构类型包括数据源

缓存

文件,通过使用
JAVA SPI
机制并引入
jar
包增加资源的种类
。4.
根据权利要求1所述的基于
DSL
解析资源生成
API
的方法,其特征在于:所述步骤
S1
中的规约文件中包括接口信息;接口信息包括原子接口的接口路径

接口参数名称

接口参数格式;用户根据实际需求修改规约文件中接口信息的内容,包括接口的路径

参数的类型和默认值
。5.
根据权利要求1所述的基于
DSL
解析资源生成
API
的方法...

【专利技术属性】
技术研发人员:郭思嘉庞景秋齐井春李绍俊李波姚春来王小壮吕超尹中钰高彦军
申请(专利权)人:长春嘉诚信息技术股份有限公司
类型:发明
国别省市:

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

1