一种基于业务字典的代码生成与传输数据校验方法技术

技术编号:38497096 阅读:8 留言:0更新日期:2023-08-15 17:06
本发明专利技术涉及代码生成与传输技术领域,具体为一种基于业务字典的代码生成与传输数据校验方法。包括:S1:使用业务字典定义GraphQL模型;S2:将业务字典转化为GraphQL schema;S3:将GraphQL schema转化为领域服务代码;S4:进行代码部署;S5;启动GraphQL服务。该技术方案能够满足复杂的数据查询和组合查询的需求。能够满足复杂的数据查询和组合查询的需求。能够满足复杂的数据查询和组合查询的需求。

【技术实现步骤摘要】
一种基于业务字典的代码生成与传输数据校验方法


[0001]本专利技术涉及代码生成与传输
,具体为一种基于业务字典的代码生成与传输数据校验方法。

技术介绍

[0002]随着信息技术不断发展,软件开发的复杂度也在不断提高。软件开发团队逐渐扩大,协同工作的要求也日益提高,因此,如何更好地协同整个团队,在高效、准确完成任务的同时,确保软件开发的质量,已成为软件开发过程中不可避免的问题。
[0003]业务领域模型的构建是整个软件开发过程中非常关键的一个环节。传统的手写代码方式通常耗费大量时间和精力,并且容易出现代码的错误和低效,还需要花费大量的人力资源进行维护和更新,因此一般采用代码生成技术,以提高软件开发的质量和生产率,降低软件开发的风险。现有的代码生成工具虽然能够一定程度解决上述问题,但大部分都是基于Restful API设计的,无法满足复杂的数据查询和组合查询的需求。

技术实现思路

[0004]本专利技术的目的在于:提出一种基于业务字典的代码生成与传输数据校验方法,该技术方案能够满足复杂的数据查询和组合查询的需求。
[0005]为实现上述目的,本专利技术提供的基础方案:一种基于业务字典的代码生成与传输数据校验方法,包括:S1:使用业务字典定义GraphQL模型;S2:将业务字典转化为GraphQL schema;S3:将GraphQL schema转化为领域服务代码;S4:进行代码部署;S5;启动GraphQL服务。
[0006]基础方案的有益效果:本方案基于GraphQL的特性,它是一种API查询语言和运行时,提供了一套强大的查询语言和类型系统,对客户端查询和服务端响应进行了解耦,解耦后的客户端和服务器可以独立地处理数据请求和响应,可以轻松地定义和组合各种数据查询操作,对于处理复杂的数据查询和组合具有很强的优势,并有效地减少数据传输和代码复杂度,从而提高开发效率和代码质量。
[0007]本方案在GraphQL的基础上,使用业务字典作为输入,实现从自动化代码生成到启动领域服务的自动化工作流程,使开发人员可以更容易地测试和验证代码。使用业务字典来生成GraphQL客户端和服务端的代码可以极大减少手动编写代码的时间和精力,并且便于团队协作,从而提高开发效率;同时由于生成的代码将始终符合业务字典中的定义,因此减少了手动编写代码时出错的风险;此外业务字典还可以方便地更新和维护,以保持和业务规则的同步,进一步减少出错的机会。
[0008]本方案充分利用GraphQL的语言特性,结合业务字典与自动化工作流程,自动化生成符合业务规则和标准的GraphQL服务代码,从而提高开发效率、实现快速迭代、降低开发成本和维护成本。
[0009]作为优选方案,所述S1包括:
S11:对业务模块进行定义,包括定义业务模型的各种属性;S12:对业务模型的各种属性进行具体定义;S13:形成业务模型属性枚举列表。
[0010]对业务模型进行定义能够使模型更加清晰、准确、易于理解和使用,有助于开发人员对业务字典涉及的各个属性有更清晰的理解和掌握,有助于开发人员构建出更准确、可靠、易于维护的业务领域模型。
[0011]作为优选方案,所述S2包括:S21:根据业务字典的表结构,使用模型生成器生成初步的符合GraphQL规范的schema;S22;进一步完善初步的GraphQLschema。
[0012]S21能够定义数据模型、描述数据结构、提供语义约束,有助于应用程序理解API的数据如何被处理和响应,也有助于确保API正确有效地响应;S22进一步完善可以支持动态拓展,有助于支持未来API变化和增长。
[0013]作为优选方案,所述S3包括:S31:根据生成的GraphQL schema,构建业务领域模型的有界上下文、领域实体模型;S32:基于有界上下文构造领域服务的图模型,并基于该图模型生成GraphQL的Query和Mutation指令;S33:基于领域实体模型生成对应的GraphQL服务端和GraphQL客户端代码。
[0014]S31中构建业务领域模型的有界上下文、领域实体模型,能够帮助软件开发人员更好地理解和分析领域中的概念与关系、功能与交互,解决软件设计中的复杂性问题,从而更好地进行系统设计和实现,S32中基于上下文构造领域服务的图模型可以将领域本体映射到一个可控的本体表示,同时能够映射到更小规模的图模型中,从而实现更容易地推理和查询。
[0015]作为优选方案,所述S4包括:S41:将生成的代码存储在领域服务的服务端与客户端,对服务端与客户端的代码进行更新;S42:服务端代码更新后会触发自动构建的流水线,构建领域服务的容器镜像,推送到镜像仓库并部署到发布环境上;S43:客户端代码更新后也会触发自动构建的流水线,构建各个语言的制品,制品包构建完成后将发布到公共的制品库供后续使用。
[0016]S42通过镜像仓库可以方便在多个运行环境之间共享镜像,通过容器快速模拟相同的运行环境以运行应用,避免因运行环境不同而导致应用运行异常或行为不一致;S43构建语言制品,可以帮助软件开发人员更好地理解和遵守代码规范,能够帮助软件开发团队更好地管理代码和项目,也能够在代码出现问题时快速定位和解决问题,提高代码质量和可靠性,方便团队协作,提高团队的效率和生产力。此外构建的语言制品可以确保不同的代码版本在不同的环境中运行,有效减少维护成本。
[0017]作为优选方案,所述S41通过Git的方式将生成的代码上传到代码仓库。
[0018]通过Git进行上传能够更容易地追踪代码和管理代码,在出现冲突等问题时,能够
从快速回退到先前的代码版本,减少“仓库污染”,并且输出日志,方便查找问题,便于与其他开发人员协作,使得代码上传到代码仓库之后具有安全性与可靠性。
附图说明
[0019]图1是一种基于业务字典的代码生成与传输数据校验方法的逻辑图。
具体实施方式
[0020]下面通过具体实施方式对本申请技术方案进行进一步详细说明:如图1所示的一种基于业务字典的代码生成与传输数据校验方法,具体包括以下步骤:S1:构建一套专属业务领域的业务字典,使用业务字典定义GraphQL模型,该字典使用尽量简化的描述,记录了所需的数据模型、业务规则和限制,用于定义GraphQL业务逻辑。业务字典的具体表现形式可以是excel、markdown文档、输入表单等形式,具体包括:S11:对业务模块进行定义,包括业务模型的各种属性,业务模型的外部引用等内容。
[0021]S12:对业务模型属性进行具体定义,包括属性类型、属性约束、属性引用。
[0022]S13:形成业务模型属性枚举列表,首先确定属性枚举的范围与枚举的方式,其次编写属性枚举的规则,规则包括枚举值的定义、枚举值的取值范围、枚举值的命名规则等,然后测试属性枚举,以确保枚举值的正确性和一致性,后续随着业务模型的变化,需要及时对属性枚举进行修改或更新,以确保其准确性和有效性。
[0023]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于业务字典的代码生成与传输数据校验方法,其特征在于:包括:S1:使用业务字典定义GraphQL模型;S2:将业务字典转化为GraphQL schema;S3:将GraphQL schema转化为领域服务代码;S4:进行代码部署;S5;启动GraphQL服务。2.根据权利要求1所述的一种基于业务字典的代码生成与传输数据校验方法,其特征在于:所述S1包括:S11:对业务模块进行定义,包括定义业务模型的各种属性;S12:对业务模型的各种属性进行具体定义;S13:形成业务模型属性枚举列表。3.根据权利要求1所述的一种基于业务字典的代码生成与传输数据校验方法,其特征在于:所述S2包括:S21:根据业务字典的表结构,使用模型生成器生成初步的符合GraphQL规范的schema;S22;进一步完善初步的GraphQLschema。4.根据权利要求1所述的一种基于业务字典的代码生成与传输数据校验方法,其特征在于:所述S3包括:S3...

【专利技术属性】
技术研发人员:梅竹凌海刘聪
申请(专利权)人:盛宝金融科技有限公司
类型:发明
国别省市:

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

1