尝试接触了一下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扩展功能
结果
以下是一张将实施、启动和操作验证一次完成的图。
由于误以为是数据提取,所以一直坚信使用GET方法:“为什么GraphQL无法工作?”曾经困扰了一段时间,让我感到很沮丧。
在阅读这段文字的人没有这样的担心,恭喜你!
实现index.js的代码。
从@ozaki さん的“【now】ApolloServerを無料でサーバにデプロイする”中得到的信息,感谢你。
服务器启动
总结
这次我第一次尝试了使用GraphQL,但说实话,我还没有感受到它与REST API的差异。
在将REST API迁移到GraphQL后,我不太能理解这是否会对敏捷开发(错误应用)中的API修改工作量减少产生影响。
(也许这只是因为我公司内部API设计不足够好,通过设计的加强来解决问题可能是一种选择)
需要持续学习。
以上