嗯,前端会一些后台的开发很是重要......
诺,后端如果会一点前端,也同样重要......
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!--