GraphQL Awesome

设计#

  • GraphQL 最佳实践
    1. 通过 HTTP 提供服务
    2. JSON+Gzip 返回
    3. 对接口进行版本控制 - 利用 deprecated 和 额外字段能
    4. 字段默认 null - 利用 非 null 设计更好的接口
    5. 分页使用 Connection - 通过 first, last, before, after 实现基于 cursor 分页
    6. 服务端批处理和缓存 - 避免 N+1 问题 - 利用 graphql/dataloader 处理
  • Gitlab GraphQL API 规范文档

Public GraphQL#

GitLab#

# 生成 schema
bundle exec rake gitlab:graphql:schema:dump

Github#

参考#