Web开发

首页 » 常识 » 常识 » 基于JPA体验GraphQL的组合查询能
TUhjnbcbe - 2023/6/6 20:52:00
刘*连在哪家医院坐诊 https://mjbk.familydoctor.com.cn/bjbdfyy_ys_12559/

嗯,前端会一些后台的开发很是重要......

诺,后端如果会一点前端,也同样重要......

GraphQL

我们通常会写很多API,特别是业务成长期,产品希望保障良好的体验的时候,他们会要求后端组合一堆API来满足页面的刚刚好的要素需求。特别是如下图橙色部分的组合API,真的是一个噩梦。前端同学与后端同学一直会不停地纠结。

看我72般变化

我们通常会调用很多API,哪怕只是增加一个要素,我也要多调用一次接口。没办法页面要,后端有(无语的是他们分了好多个接口,有时候鉴权还不一样)。你说就这样,页面的体验,效率能怨我么?

前端开发的烦恼

于是架构师来了,我们做个组合,做个读写模型分析,抽取共性,做到需要的数据就触发查询,再对数据进行编排组合来满足前端的诉求。把大家拉来评审下,避免API风暴......

但,等等,是否应该做一个通用查询,如这样?

统一组合查询API

按需触发接口,组合数据供页面使用,这就是GraphQL面对的问题域。我识别GraphQL的特点如下:

立足于从产品经理角度看问题,某种意义上是为前端开发解决问题

提供了强大的语法来解释嵌套数据结果,基于强类型,提供了相应的一些质量保障

语言支持丰富,如下图

GraphQL支持的语言

其他不说了,按如下步骤,体验下Java的先。

pom.xml

这里是基于IDEA社区办,构建的一个SpringCloudAlibabaweb应用。这里是使用JPA提供数据,依赖的组件列表如下:

dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--

1
查看完整版本: 基于JPA体验GraphQL的组合查询能