尝试接触了一下GraphQL

在本地计算机上尝试使用GraphQL

背景

我目前作为全栈开发工程师在进行开发任务推进和实际工作。

当工作是从本公司销售一侧派遣过来时,

    • フワッとした要件定義でやっちゃえ、とにかく動かしちゃえ

 

    仕様・設計バグがあってもアジャイルで改善すればいいんじゃね?(誤用)

由于开发风气如此,前端部分的改进频繁发生,且高度耦合的REST API也容易出现改动的情况。

因此,我们首次尝试使用GraphQL,以便在假设前端改修频率较高的情况下,降低API改修频率。

操作步骤

在Windows10上执行。

1) 安装Apollo Server

> mkdir C:\Works\Projects\gqlserver
> cd C:\Works\Projects\gqlserver
> npm init --yes
> npm i apollo-server graphql

2) 实施

创建gqlserver\src\index.js文件(内容如下所示)

3) 启动

> cd C:\Works\Projects\gqlserver
> node .\src\index.js

4) 验证动作

使用VSCode的Thunder Client扩展功能

结果

以下是一张将实施、启动和操作验证一次完成的图。

ApolloServer2.png

由于误以为是数据提取,所以一直坚信使用GET方法:“为什么GraphQL无法工作?”曾经困扰了一段时间,让我感到很沮丧。

在阅读这段文字的人没有这样的担心,恭喜你!

实现index.js的代码。

从@ozaki さん的“【now】ApolloServerを無料でサーバにデプロイする”中得到的信息,感谢你。

服务器启动

总结

这次我第一次尝试了使用GraphQL,但说实话,我还没有感受到它与REST API的差异。

在将REST API迁移到GraphQL后,我不太能理解这是否会对敏捷开发(错误应用)中的API修改工作量减少产生影响。
(也许这只是因为我公司内部API设计不足够好,通过设计的加强来解决问题可能是一种选择)

需要持续学习。

以上