大家有使用GraphQL,设计API吗?有什么栗子吗
还是基于上次的问答关于设计API是面向服务还是面向UI,大家有使用过GraphQL这种解决方案吗?
4 回复
GraphQL是那么的优雅,很符合你理解的“面向UI”。
社区有完善的IDE支持(Web, IDEA),什么?前端想要开发文档?不存在的,在IDE的节点里面找找… 拿你所想,根据UI需求拿字段,多余的会被GraphQL过滤,服务端不会返回,不浪费流量。 合并请求。以前还可能开个接口或者socket,用于合并http请求。GraphQL就是省事,多节点就搞定了几个接口调用
然后也说一些缺点:
- 不能感知用户输入那些字段,比如根据用户输入的字段来判定另一个字段的值应该返回什么
- 深层嵌套,GraphQL以节点为基础,很适合深层嵌套的数据,但是对于前端并不友好,很可能就是
Can not read property 'xxxx' of undefined
, 所以可能还需要一个库lodash.get
总之,拥抱GraphQL是没有错的。
这是我项目的GraphQL目录,仅供参考:
.
├── mutations
├── queries
└── types
@axetroy 谢谢
https://developer.github.com/v4/ 不知道有没有帮助