[发明专利]基于GraphQL的接口构建方法、系统、电子设备及存储介质有效
申请号: | 202111004342.7 | 申请日: | 2021-08-30 |
公开(公告)号: | CN113741878B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 唐广法;付骁弈 | 申请(专利权)人: | 上海明略人工智能(集团)有限公司 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/30;G06F8/41;G06F8/71 |
代理公司: | 青岛清泰联信知识产权代理有限公司 37256 | 代理人: | 栾瑜 |
地址: | 200030 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 graphql 接口 构建 方法 系统 电子设备 存储 介质 | ||
本发明提出一种基于GraphQL的接口构建方法、系统、电子设备及存储介质,其方法技术方案包括GraphQL组件构建步骤,在后端开发GraphQL组件,所述GraphQL组件包括GraphQL的Schema、Resolver解析器和服务对象声明;接口能力配置步骤,遍历所有的所述GraphQL组件,获取所述GraphQL组件的输入及输出信息,对所述GraphQL组件进行组合和配置,并进一步生成源码;工程框架执行步骤,将所述源码引入工程,通过所述工程对所述源码编译部署后进行执行。本申请解决了现有方法专业素养要求高、部署上线慢、开发周期长的问题。
技术领域
本发明属于软件工程技术领域,尤其涉及一种基于GraphQL的接口构建方法、系统、电子设备及存储介质。
背景技术
随着现在APP业务越来越复杂,API增长呈爆炸趋势。同时为了满足端上多元化的需求,代码逻辑也越来越复杂,内部逻辑为了复用一些功能模块往往充斥着if...else...,总体而言,项目越来越复杂,维护成本呈指数级上升。而对于客户端,面对逐渐复杂起来的业务而言,往往需要通过多个协议才能够获取到它所需的完整数据。由于对某个协议而言客户端也许只需要其中的某几个字段,这个过程会造成较多的冗余数据;同时需要组合太多协议,导致客户端逻辑复杂,维护困难。
为了解决上述问题,同时降低前后端耦合,通常可以引入GraphQL作为技术方案。根据项目需求,组合一套完整的GraphQL的Schema,在后端实现该Schema的解析器Resolver,这样客户端可以清晰地知道后端能够提供哪些数据的查询工作,据此根据需要编写查询语句,一次查询即可精确获得结果。而后端则在编写解析器Resolver时,组合调用相应的API,获取对应的数据。这个方案相当于前后端的耦合降低了。同时后端考虑API接口时,重心放在粒度划分上,而不是需求上,只需要提供足够小粒度的API即可。这样前后端的代码复杂程度得到了很好的控制。
但是引入GraphQL后,后端仍然需要专人根据需求编写相应的Schema和解析器Resolver,编译项目,部署发布。通常需要有较专业素养要求,同时也存在部署上线慢,开发周期长等问题。
发明内容
本申请实施例提供了一种基于GraphQL的接口构建方法、系统、电子设备及存储介质,以至少解决现有方法专业素养要求高、部署上线慢、开发周期长的问题。
第一方面,本申请实施例提供了一种基于GraphQL的接口构建方法,包括:GraphQL组件构建步骤,在后端开发GraphQL组件,所述GraphQL组件包括GraphQL的Schema、Resolver解析器和服务对象声明;接口能力配置步骤,遍历所有的所述GraphQL组件,获取所述GraphQL组件的输入及输出信息,对所述GraphQL组件进行组合和配置,并进一步生成源码;工程框架执行步骤,将所述源码引入工程,通过所述工程对所述源码编译部署后进行执行。
优选的,所述GraphQL组件构建步骤进一步包括:将所述服务对象以参数形式传入到所述Resolver解析器中以供使用。
优选的,所述接口能力配置步骤进一步包括:以可视化形式对遍历到的所述GraphQL组件进行展示,并在可视化界面中以拖拽的形式对所述GraphQL组件进行组合。
优选的,所述工程框架执行步骤进一步包括:在所述工程中引入所述GraphQL所需的所有库文件,以提供所述GraphQL的最基础能力。
第二方面,本申请实施例提供了一种基于GraphQL的接口构建系统,适用于上述一种基于GraphQL的接口构建方法,包括:GraphQL组件构建模块,在后端开发GraphQL组件,所述GraphQL组件包括GraphQL的Schema、Resolver解析器和服务对象声明;接口能力配置模块,遍历所有的所述GraphQL组件,获取所述GraphQL组件的输入及输出信息,对所述GraphQL组件进行组合和配置,并进一步生成源码;工程框架执行模块,将所述源码引入工程,通过所述工程对所述源码编译部署后进行执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海明略人工智能(集团)有限公司,未经上海明略人工智能(集团)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111004342.7/2.html,转载请声明来源钻瓜专利网。