新手上路
3小时前
主楼
规格
- GraphQL - GraphQL 规范的工作草案。
- GraphQL over HTTP - "GraphQL over HTTP" 规范的工作草案。
- GraphQL Relay - 符合 Relay 规范的 GraphQL 服务器规范。
- OpenCRUD - OpenCRUD 是一种用于数据库的 GraphQL CRUD API 规范。
- Apollo Federation - Apollo Federation 规范
- GraphQXL - GraphQXL 是 GraphQL 语言的扩展,包含一些附加功能,有助于创建大型和可扩展的服务器端模式。
- GraphQL Scalars - 提供 @specifiedBy 使用的社区定义的自定义 Scalar 规范。
基础
- GraphQL 基础 - Linux Foundation 旗下的 GraphQL 基础组织
社区
- Discord - GraphQL - GraphQL.org 官方 Discord 频道。
- GraphQL Weekly - 一个每周发布的简报,聚焦 GraphQL 社区的资源和新闻。
- Apollo GraphQL Community - 与其他开发者连接,并分享有关 Apollo GraphQL 平台各个方面的知识。
- Discord - Reactiflux - 加入 Reactiflux Discord 服务器的
#help-graphql频道。 - Facebook - 用于讨论、文章和知识分享的群组。
- X - 使用标签
#graphql。 - StackOverflow - 提问和回答。使用标签
graphql。 - GraphQL APIs - 公开 GraphQL API 的集合列表。
- /r/GraphQL - 用于有趣和有信息的 GraphQL 内容和讨论的 Subreddit。
线下聚会
- Relay Meetup - Relay 的 GraphQL 客户端上的全球在线聚会。
- 阿姆斯特丹
- Bangalore
- 柏林
- 布宜诺斯艾利斯
- 哥本哈根
- 达拉斯-沃斯堡
- 汉堡
- 伦敦
- 墨尔本
- 慕尼黑
- 纽约市
- 旧金山
- 西雅图
- 悉尼
- 特拉维夫
- 弗罗茨瓦夫
- 新加坡
- 苏黎世
实现
JavaScript/TypeScript
- graphql-js - 一个用于 JavaScript 的 GraphQL 参考实现。
- graphql-jit - 使用 JIT 编译器执行 GraphQL。
- Gra*fast* - 一个用于 GraphQL 的尖端规划和执行引擎。
客户
- apollo-client - 一个适用于每个 UI 框架和 GraphQL 服务器的全功能、生产就绪的缓存 GraphQL 客户端。
- graphql-request - 一个用于 Node 和浏览器的极简 GraphQL 客户端。
- typescript-graphql-request - 使用 GraphQL Request 作为完全类型化的 SDK。
- graphql-zeus - GraphQL Zeus 为
JavaScript或TypeScript创建自动补全客户端库,为强类型查询提供自动补全功能。 - graphqurl - GraphQL 的 curl 工具,支持自动补全、订阅和 GraphiQL。同时是一个简单易用的通用 JavaScript GraphQL 客户端。
- aws-amplify - 亚马逊开发的客户端库,用于缓存、分析等,并包含获取 GraphQL 查询的方法。
- gqty - 一个用于 TypeScript 的无 GraphQL 客户端
- genql - 适用于任何 GraphQL API 的类型安全的 TypeScript 客户端。
前端框架集成
- vue-apollo - Apollo/GraphQL 集成插件 for VueJS.
- apollo-angular - 一个功能齐全、可用于生产环境的缓存 GraphQL 客户端,适用于 Angular 和所有 GraphQL 服务器。
- svelte-apollo - 用于 Apollo GraphQL 的 Svelte 集成。
- ember-apollo-client - Apollo Client 和 GraphQL 的 ember-cli 插件。
- apollo-elements - 适用于任何前端框架的 GraphQL Web 组件。
- sveltekit-kitql - 一套工具,帮助您以快速的方式使用 SvelteKit 和 GraphQL 构建高效的 App。
React
- react-apollo - 核心 @apollo/client 库为 React 提供内置集成。
- relay - Relay 是一个用于构建数据驱动型 React 应用的 JavaScript 框架。
- urql - 一个用于 React 的简单缓存 GraphQL 客户端。
- graphql-hooks - 一个极简的、以钩子开始的 GraphQL 客户端,支持缓存和服务器端渲染。
- mst-gql - mobx-state-tree 和 GraphQL 的绑定。
- @gqty/react - 一个用于 TypeScript 的无 GraphQL 客户端
服务器
- apollo-server - 符合规范且适用于生产环境的 JavaScript GraphQL 服务器,允许您以模式优先的方式进行开发。支持 Express、Connect、Hapi、Koa 等。
- hapi-graphql - 使用 Hapi 创建 GraphQL HTTP 服务器。
- hapi-plugin-graphiql - 用于 GraphiQL 集成的 HAPI 插件。
- graphql-api-koa - 从头实现 GraphQL.js 并支持原生 ESM 的 GraphQL Koa 中间件。
- koa-graphql - GraphQL Koa 中间件。
- graphql-koa-scripts - Koa 1 文件简化的 GraphQL Koa 脚本。适用于快速测试。
- gql - 适用于 Deno 的通用 GraphQL HTTP 中间件。
- mercurius - Fastify 的 GraphQL 插件。
- graphql-yoga - 功能全面的 GraphQL 服务器,注重易用性、性能和出色的开发者体验。
- graphitejs - 用于 GraphQL 的 NodeJS 框架。
- graphql-helix - 一个高度进化的 GraphQL HTTP 服务器。
- pylon - 仅使用函数即可编写全功能 API。无需样板代码,无需设置。只需编写函数并部署。
- modus - 基于 WebAssembly 的无服务器运行时,可提供自动生成的 GraphQL API。
数据库与 ORM
- graphql-sequelize - Sequelize 的 GraphQL 辅助工具。
- graphql-bookshelf - 一些帮助围绕 BookshelfJS 模型定义 GraphQL 模式。
- join-monster - 一个用于批量数据获取的 GraphQL 到 SQL 查询执行层。
PubSub
- graphql-ably-pubsub - Ably PubSub 的 GraphQL 实现,用于发布 mutation 更新并通过订阅查询订阅结果。
自定义标量
- graphql-scalars - 一个用于创建精确类型安全的 GraphQL 模型的自定义 GraphQL 标量库。
类型
- type-graphql - 使用 TypeScript、类和装饰器创建 GraphQL 模型和解析器!
- graphql-nexus - 基于代码优先、类型安全、GraphQL 模式构建。
- graphql-code-generator :支持自定义插件和模板的 GraphQL 代码生成器,例如 TypeScript(前端和后端)、React Hooks、解析器签名等。
- pothos - Pothos 是一个基于插件的 TypeScript GraphQL 模式构建器。它使得在 TypeScript 中构建 GraphQL 模式变得简单、快速且令人愉悦。
- garph - Garph 是一个全栈框架,用于在 TypeScript 中构建类型安全的 GraphQL API。
- gqloom - GQLoom 是一个用于 TypeScript/JavaScript 的 GraphQL 编织工具,使用 Valibot、Zod 或 Yup 编织 GraphQL 模式和解析器
- fast-graphql - 用于 Node.js、Next.Js 和 Graphql Apollo 服务器结构化、组合解析器和合并模式定义的 Graphql 工具
- graphql-to-type - 完全使用 TypeScript 类型系统编写的 GraphQL 查询解析器,用于根据提供的查询创建接口
- gql.tada - GraphQL 文档编写库,在 TypeScript 类型系统中推断 GraphQL 查询和片段的结果和变量类型
其他
- graphql-tools - 用于构建和维护 GraphQL-JS 服务器的工具库。
- graphql-tag - 一个用于解析 GraphQL 查询的 JavaScript 模板字面量标签。
- load-gql - 一个从文件和文件夹中加载 GraphQL 模式的微小、无依赖项的加载器。
- graphql-compose - 一种允许您通过插件从不同数据源构建灵活的 graphql 模式的工具。
- graphql-modules - 通过模块或功能将 GraphQL 服务器拆分为更小、可重用的部分。
- graphql-shield - 一个帮助创建 GraphQL API 权限层的库。
- graphql-shield-generator - 从你的 GraphQL schema 中生成一个 GraphQL Shield。
- graphqlgate - 一个用于 Node.js 的 GraphQL 速率限制库,具有查询复杂度分析功能
- graphql-let - 一个 webpack 加载器,可以直接从 GraphQL 文档中导入受类型保护代码生成结果
- graphql-config - 所有 GraphQL 工具的统一配置(被大多数工具、编辑器和 IDE 支持)。
- graphql-cli - 一个用于常见 GraphQL 开发工作流程的命令行工具。
- graphql-toolkit - 一套用于加速 GraphQL 工具开发的工具集(包括模式和文档加载、模式合并等)。
- graphql-mesh - 使用 GraphQL 查询语言访问不运行 GraphQL 的远程 API(同时也包括运行 GraphQL 的 API)。
- sofa - 从您的 GraphQL API 生成 REST API。
- graphback - 框架和 CLI,用于使用数据模型为 GraphQL 服务器添加 GraphQLCRUD API 层。
- graphql-middleware - 将您的 GraphQL 解析器拆分到中间件函数中。
- graphql-relay-js - 一个用于构建支持 react-relay 的 graphql-js 服务器的库。
- graphql-normalizr - 用于将 GraphQL 响应规范化以便在客户端缓存/状态中持久化。
- babel-plugin-graphql - 用于编译 GraphQL 标记模板字符串的 Babel 插件。
- eslint-plugin-graphql - 一个 ESLint 插件,用于检查您的 GraphQL 字符串是否符合模式。
- graphql-ws - 一款连贯、无依赖、懒加载、简单、符合 WebSocket 协议的 GraphQL 服务器和客户端。
- graphql-live-query - 基于 JavaScript 的实时 GraphQL 活动查询。
- GraphVinci - 用于 GraphQL API 的交互式模式可视化工具。
- supertest-graphql - 扩展 supertest,轻松测试 GraphQL 端点。
- schemathesis - 运行任意查询匹配 GraphQL 模式以查找服务器错误。
- 微纤维 - 以有用方式查询和操作 GraphQL 内省查询结果。
- graphql-armor - 生产 GraphQL 端点的即时安全层。
- goctopus - 一个极其快速的 GraphQL 发现与指纹识别工具箱。
- GraphQL Constraint Directive - 允许使用 @constraint 作为指令来验证输入数据。受 Constraints Directives RFC 和 OpenAPI 启发
- Validator.js Wrapper Directive - 一个包含各种验证指令的全面列表,封装了 Validator.js 功能
- WunderGraph Cosmo - 开源的 GraphQL 联邦解决方案,提供全生命周期 API 管理,适用于(联邦)GraphQL。包括模式注册、组合检查、分析、指标、跟踪和路由。
- graphql-go-tools - 一个用 Golang 编写的 GraphQL 路由器 / API 网关框架,专注于正确性、可扩展性和高性能。支持 Federation v1 & v2、Subscriptions 等。
- graphql-sunset - 快速轻松地为您的 GraphQL 服务器添加对
Sunset头的支持,以便更好地传达即将到来的破坏性变更。
JavaScript 示例
- React Starter Kit - 使用 React、Relay、GraphQL 和 JAM 堆栈架构的前端启动套件。
- SWAPI GraphQL Wrapper - 包装 SWAPI 的 GraphQL 模式和服务器。
- Relay TodoMVC - 使用路由的 Relay TodoMVC
- Apollo Client 文档 - 使用 Apollo Client 构建 GraphQL 应用的文档和示例。
- Apollo Server 工具文档 - 构建 GraphQL 服务器以及连接到 SQL、MongoDB 和 REST 端点的文档、教程和示例。
- F8 App 2017 - 官方 2016 年 F8 应用的源代码,由 React Native 和其他 Facebook 开源项目驱动。
- Apollo React 示例用于 Github GraphQL API - 使用 create-react-app 的 Apollo React 示例用于 Github GraphQL API
- Next.js TypeScript 和 GraphQL 示例 - 一个在 Next.js 上运行的受类型保护的 GraphQL 示例,底层使用 graphql-codegen
- GraphQL StackBlitz Starter – 一个可在约 2 秒内启动并在浏览器中运行的实时可编辑演示。
- NAPERG - 全栈脚手架 GraphQL。使用 React & Prisma 构建,包含认证与角色管理。
- VulcanJS - 全栈 React+GraphQL 框架
- RAN Toolkit - 生产就绪的工具包/模板,支持 GraphQL、SSR、热重载、CSS-in-JS、缓存等。
TypeScript 示例
- Node.js API Starter - 基于 Yarn v2 的单体仓库模板(代码优先的 GraphQL API、PostgreSQL、PnP、零安装、无服务器)。
- Next.js Apollo TypeScript Starter - 一个专注于开发者体验的 Next.js 启动项目。
- GraphQL Starter - TypeScript + Node Express + Apollo GraphQL API 的脚手架。
- Mocked Managed Federation - Apollo Server 3 - 使用 Apollo Server 3.x 模拟管理式联合 Supgraph 的示例。
- Mocked Managed Federation - Apollo Server 4 - 使用 Apollo Server 4.x 模拟管理式联合 Supgraph 的示例。
- Next.js 高级 GraphQL CRUD MongoDB 启动器 - 使用 Next.js 和 MongoDB (TypeScript) 的通用 CRUD 启动器,具有高级 Apollo GraphQL 服务器
Ruby
- graphql-ruby - Facebook 的 GraphQL 的 Ruby 实现
- graphql-batch - graphql gem 的查询批处理执行器。
- graphql-auth - 一个与 devise 一起工作的 JWT 认证包装器。
- agoo - 一个实现了 Facebook 的 GraphQL 的 Ruby Web 服务器。
- GQLi - 一个 GraphQL 客户端和 DSL。允许使用原生 Ruby 编写查询。
Ruby 示例
- graphql-ruby-demo - 使用 graphql-ruby 暴露一个 Rails 应用。
- github-graphql-rails-example - 使用 GitHub 的 GraphQL API 的 Rails 示例应用。
- relay-on-rails - 基于 Rails 的 GraphQL 服务器 Relay 应用程序基础启动套件。
- relay-rails-blog - 一个使用 GraphQL、Relay 和标准 Rails 应用的演示型博客。
- to_eat_app - 一个包含 graphql/rails/relay 的示例应用程序,以及一个相关的三部分文章系列。
- agoo-demo - 使用 Agoo 服务器演示一个简单的 GraphQL 应用程序。
PHP
- graphql-php - GraphQL 参考实现的 PHP 端口。
- graphql-relay-php - 为 webonyx/graphql-php 实现的 GraphQL 提供的 Relay 辅助工具。
- lighthouse - 一个 PHP 包,允许您从 Laravel 应用程序中提供 GraphQL 端点。
- graphql-laravel - Facebook 的 GraphQL 的 Laravel 封装。
- overblog/graphql-bundle - 该包提供工具,在您的 Symfony 应用中构建完整的 GraphQL 服务器。支持 react-relay。
- wp-graphql - WordPress 的 GraphQL API。
- graphqlite - 一种与框架无关的库,允许您通过注解 PHP 类来编写 GraphQL 服务器。
- siler - 提供用于 GraphQL 服务器的声明式 API 的普通旧函数,支持订阅功能。
- graphql-request-builder - 用于构建 GraphQL 结构的请求负载。
- drupal/graphql - 为 Drupal 9 和 10 创建和公开 GraphQL 模式。
- jerowork/graphql-schema-builder - 使用 PHP 属性轻松构建适用于 webonyx/graphql-php 的 GraphQL schema,而不是使用大型配置数组。
PHP 示例
- siler-graphgl - 使用 Siler 编写的 GraphQL 服务器示例。
Python
- graphql-parser - Python 的 GraphQL 解析器。
- graphql-core - 基于 GraphQL.js v16.3.0 参考实现的 Python GraphQL 实现
- graphql-relay-py - 一个帮助构建支持 react-relay 的 graphql-py 服务器的库。
- graphql-parser-python - 一个围绕 libgraphqlparser 的 Python 封装。
- graphene - 一个用于以 Pythonic 方式创建 GraphQL 模式/类型的软件包。
- graphene-gae - 为 Google AppEngine (GAE) 添加 GraphQL 支持。
- django-graphiql - 将 GraphiQL 轻松集成到您的 Django 项目中。
- flask-graphql - 为您的 Flask 应用程序添加 GraphQL 支持。
- python-graphql-client - Python 2.7+ 的简单 GraphQL 客户端。
- python-graphjoiner - 使用连接、SQL 或其他方式创建 GraphQL API。
- graphene-django - 一个用于 Django 的 Graphene 集成。
- Flask-GraphQL-Auth - 一个受 flask-jwt-extended 启发的 Flask 认证库。
- tartiflette - 用于 Python 3.6+ / asyncio 的 GraphQL 实现,SDL 首先
- tartiflette-aiohttp - 基于 aiohttp / 3.6+ / asyncio 的 Tartiflette 封装,用于通过 HTTP 暴露 GraphQL API,官方教程可在 tartiflette.io 查找。
- Ariadne - 用于使用 schema-first 方法实现 GraphQL 服务器的库。异步查询执行,包含 ASGI、WSGI 和流行 Web 框架的电池,完全文档化。
- django-graphql-auth - Django 的注册和认证与 GraphQL。
- strawberry - Python 的新 GraphQL 库。
- turms - 基于 graphql-core 和 pydantic 构建的 pythonic graphql 代码生成器
- rath - 类似 apollo 的 graphql 客户端,具有异步和同步接口
- sgqlc - 简单的 GraphQL 客户端,使在 Python 中使用 GraphQL API 响应更加便捷。
Python 示例
- swapi-graphene - 一个使用 Graphene 的 GraphQL 方案和服务器。
- Python Backend Tutorial - 一个关于使用 Strawberry 创建 GraphQL 服务器和使用 Qlient 创建客户端的教程。
Java
- graphql-java - GraphQL Java 实现。
- DGS Framework - 由 Netflix 开发的用于 Spring Boot 的 GraphQL 服务器框架。
- graphql-java-generator - 一个 Maven 插件 和一个 Gradle 插件,可以生成 客户端 和 服务器(POJOs 和工具类)。服务器部分基于 graphql-java,并隐藏了所有其样板代码。
- gaphql-java-type-generator - 自动为 GraphQL Java 生成类型
- schemagen-graphql - 方案生成和执行包,将 POJO 转换为 GraphQL Java 可查询的对象集。通过注解使任何服务都可以作为 GraphQL 服务公开。
- graphql-java-annotations - 提供 GraphQL Java 的基于注解的方案定义语法。
- graphql-java-tools - 以模式优先的 graphql-java 便捷库,使您能够轻松地将自己的实现作为数据解析器引入。灵感来源于graphql-tools(JavaScript)。
- graphql-java-codegen-maven-plugin - 基于模式的 Maven 插件,用于生成 Java 类型和解构器接口。与 graphql-java-tools 配合使用效果完美。灵感来源于 swagger-codegen-maven-plugin。
- graphql-java-codegen-gradle-plugin - 一种基于模式的 Gradle 插件,用于生成 Java 类型和 Resolver 接口。与 graphql-java-tools 配合使用效果完美。灵感来源于 gradle-swagger-generator-plugin。
- graphql-java-servlet - 一个与框架无关的 java servlet,用于通过 GET、POST 和 multipart 上传暴露 graphql-java 查询端点。
- manifold-graphql - 全面的 GraphQL 客户端使用。基于模式。类型安全的 GraphQL 类型、查询和结果,无需代码生成器,无需 POJO,无需注解。在 IntelliJ IDEA 和 Android Studio 上提供出色的 IDE 支持。请参阅下方的 Java 示例。
- spring-graphql-common - Spring Framework GraphQL 库。
- graphql-spring-boot - GraphQL 和 GraphiQL Spring 框架启动器。
- vertx-graphql-service-discovery - 用于微服务的异步 GraphQL 服务发现和查询。
- vertx-dataloader - Facebook DataLoader 的移植版本,用于在集群化的 GraphQL 环境中进行高效的异步批处理和缓存。
- graphql-spqr - Java 8+ API,用于快速开发 GraphQL 服务。
- Light Java GraphQL :一个轻量级、快速的服务框架,解决了所有横切关注点,并准备好插入 GraphQL 模式。
- Elide :一个 Java 库,可以将 JPA 注解的数据模型在任何关系型数据库上暴露为 GraphQL 服务。
- federation-jvm - JVM 上的 Apollo Federation。
- graphql-orchestrator-java GraphQL 编排器/网关库,支持 Schema Stitching 和 Apollo Federation 指令,将多个 GraphQL 微服务的模式组合成一个统一的模式。
- graphql-java-extended-validation - 为 graphql-java 提供字段和字段参数的扩展验证。
- dgs-extended-formatters - 用于常见格式化用例的实验性 DGS 指令集。
自定义标量
- graphql-java-datetime - GraphQL ISO 日期是一组符合 RFC 3339 的日期/时间标量类型,用于与 graphql-java 一起使用。
- graphql-java-extended-scalars - graphql-java 的扩展标量。
Java 示例
- light-java-graphql examples - Light Java GraphQL 示例和教程。
- graphql-spqr-samples - 使用 Spring MVC 和 GraphQL-SPQR 编写的 GraphQL 服务器示例。
- manifold-graphql sample - 一个简单的应用程序,既是客户端也是服务器,展示了 Manifold GraphQL 库。
- graphql-java-kickstart_samples - GraphQL Java Kickstart 项目使用的示例。
- graphql-java-kickstart-federation-example - 一个 GraphQL Java Kickstart 联邦示例。
- Spring Boot 后端教程 - 一个使用 Spring Boot 和 Netflix DGS 创建 GraphQL 服务器和客户端的教程。
Kotlin
- graphql-kotlin - GraphQL Kotlin 实现。
- manifold-graphql - 全面的 GraphQL 客户端使用。基于模式。类型安全的 GraphQL 类型、查询和结果,无需代码生成器,无需 POJO,无需注解。在 IntelliJ IDEA 和 Android Studio 中具有出色的IDE 支持。请参阅下方的Kotlin 示例。
- KGraphQL :纯 Kotlin 实现,用于设置 GraphQL 服务器。
- Kobby - 基于 GraphQL schema 的 Kotlin DSL Client 的代码生成插件。生成的 DSL 支持在 Kotlin 中执行复杂的 GraphQL 查询、变异和订阅,其语法与原生 GraphQL 语法相似。
- Graphkt - 一个基于 Kotlin 的 graphql 服务器库,由 graphql-java 支持。
Kotlin 示例
- manifold-graphql 示例 - 一个简单的 GraphQL 应用程序,既是客户端也是服务器,展示了使用 Kotlin 的 Manifold GraphQL 库。
C/C++
- libgraphqlparser - 一个用 C++ 编写的 GraphQL 查询解析器,提供 C 和 C++ API。
- agoo-c - 一个用 C 编写的高性能 GraphQL 服务器。性能测试
- cppgraphqlgen - C++ GraphQL 模式服务生成器。
- CaffQL - 从 GraphQL 检视查询生成 C++ 客户端类型和请求/响应序列化。
Go
- graphql - Go 语言实现的 GraphQL,遵循 graphql-js
- graphql-go - 一个专注于易用性的 GraphQL 服务器。
- gql - 基于代码优先的 GraphQL (graphql-go/graphql) 模式构建器。
- gqlgen - 基于 Go 生成的 GraphQL 服务器库。
- graphql-relay-go - 一个用于构建支持 react-relay 服务器的 Go/Golang 库。
- graphjin : 5 分钟内构建 API,即时 GraphQL 到 SQL 编译器。
- graphql-go-tools - 一个用 Golang 编写的图 QL 路由器/API 网关框架,专注于正确性、可扩展性和高性能。支持 Federation v1 & v2、订阅等。
- Thunder - 一个基于 Go、gRPC-Gateway、Prisma 和 Kubernetes 的可扩展微服务框架。它提供 REST、gRPC 和 Graphql 接口
- grpc-graphql-gateway - 一个 protoc 插件,从 Protocol Buffers 生成 graphql 执行代码。
Go 示例
- golang-relay-starter-kit - 使用 Golang GraphQL 服务器的 Relay 应用程序的起点。
- todomvc-relay-go - React/Relay TodoMVC 应用的 Golang GraphQL 后端驱动的端口。
- go-graphql-subscription-example - 一个 GraphQL 方案和服务器,展示了 GraphQL 订阅(通过 WebSocket)来消费 Apache Kafka 消息。
- Go 后端教程 - 一个展示如何使用代码生成来创建 Go GraphQL 服务器和客户端的教程。
Scala
- sangria - Scala GraphQL 服务器实现。
- sangria-relay - Sangria Relay 支持。
- caliban - Caliban 是一个用于在 Scala 中创建 GraphQL 后端的纯函数库。
Scala 示例
- sangria-akka-http-example - 使用 akka-http 和 sangria 编写的 GraphQL 服务器示例。
- sangria-playground - 使用 Play 和 sangria 编写的 GraphQL 服务器示例。
.NET
- graphql-dotnet - .NET 的 GraphQL。
- graphql-net - 将 GraphQL 转换为 .NET 的 IQueryable。
- Hot Chocolate - 用于 .Net Core 和 .NET Framework 的 GraphQL 服务器。
- Snowflaqe - F#和Fable的静态类型安全的 GraphQL 代码生成器
- EntityGraphQL - 用于在数据模型之上构建 GraphQL API 的库,具有将多个数据源整合到单个 GraphQL 模式中的可扩展性。
- ZeroQL - 支持类型安全的 GraphQL 客户端,具有类似 Linq 的接口,适用于 C#
.NET 示例
- .NET 后端教程 - 一个使用.NET 创建 GraphQL 服务器和客户端的教程。
Elixir
- absinthe-graphql - 功能全面的 Elixir GraphQL 库。
- graphql-elixir - Elixir GraphQL。(已不再维护)
- plug_graphql - GraphQL Elixir 的 Plug 集成。
- graphql_relay - 用于 GraphQL Elixir 的 Relay 辅助工具。
- graphql_parser - libgraphqlparser 的 Elixir 绑定
- graphql - Elixir GraphQL 解析器。
- plot - Elixir 的 GraphQL 解析器和解析器
Elixir 示例
- hello_graphql_phoenix - Phoenix 中挂载的 GraphQL Elixir Plug 端点的示例
Haskell
- graphql-haskell - Haskell 的 GraphQL AST 和解析器。
- morpheus-graphql - Haskell GraphQL API、客户端和工具。
SQL
- GraphpostgresQL - 用于 PostgreSQL 的 GraphQL。
- sql-to-graphql - 基于您的 SQL 数据库结构生成 GraphQL API。
- PostGraphile - 为 PostgreSQL 提供闪电般的 GraphQL API:高度可定制;可通过插件扩展;实时。
- Hasura - Hasura 提供基于 PostgreSQL 的即时实时 GraphQL API。也适用于现有数据库。
- subZero - 为您的数据库提供 GraphQL & REST API
Lua
- graphql-lua - Lua 的 GraphQL。
Elm
- elm-graphql - Elm 的 GraphQL。
Clojure
- graphql-clj - 一个为提供 GraphQL 实现而设计的 Clojure 库。
- Lacinia - 纯 Clojure 实现的 GraphQL。
- graphql-query - Clojure(Script) GraphQL 查询生成。
Clojure 示例
- Clojure Game Geek - Lacinia GraphQL 框架教程的示例代码。
Swift
- GraphQL - GraphQL 的 Swift 实现。
OCaml
- ocaml-graphql-server - OCaml 中的 GraphQL 服务器。
Android
- apollo-android - 📟 为 Android 编写的强类型、带缓存的 GraphQL 客户端。
- manifold-graphql - 全面支持 GraphQL 客户端。基于模式优先。类型安全的 GraphQL 类型、查询和结果,无需代码生成器,无需 POJO,无需注解。在 IntelliJ IDEA 和 Android Studio 上提供出色的 IDE 支持。请参阅下方的 Java 示例。
Android 示例
- apollo-frontpage-android-app - 📄 Apollo "hello world" 应用,适用于 Android。
iOS
- apollo-ios - 📱 Swift 编写的强类型缓存 GraphQL 客户端,适用于 iOS。
- ApolloDeveloperKit - Apollo Client Devtools 桥接 [Apollo iOS].
- Graphaello - 从 SwiftUI 直接获取类型安全的 GraphQL。
iOS 示例
- frontpage-ios-app - 📄 Apollo "hello world" 应用,适用于 iOS。
ClojureScript
- re-graph - 一个用于 ClojureScript 的 GraphQL 客户端,具有 re-frame 应用的绑定。
- graphql-query - Clojure(Script) GraphQL 查询生成。
ReasonML
- reason-apollo - Apollo Client 的 ReasonML 绑定。
- ReasonQL - ReasonML 开发者使用的类型安全且简单的 GraphQL 客户端。
- reason-urql - urql Client 的 ReasonML 绑定。
Dart
- graphql-flutter - 一个用于 Flutter 的 GraphQL 客户端。
- Artemis - 一个用于 Dart/Flutter 的 GraphQL 类型与查询生成器。
Rust
- async-graphql - 支持所有 GraphQL 规范的高性能服务器端库。
- juniper - Rust 的 GraphQL 服务器库。
- graphql-client - 支持 WebAssembly (wasm) 的 Rust GraphQL 客户端库。
- graphql-parser - 用于 Rust 的 GraphQL 查询和模式定义语言的解析器、格式化器和抽象语法树 (AST)。
- tailcall - 用于构建高性能 GraphQL 后端的平台。
Rust 示例
D (dlang)
- graphqld - GraphQL 服务器库 for D.
R (Rstat)
- ghql - 通用 GraphQL R 客户端。
- graphql - 绑定到 'libgraphqlparser' C++ 库。解析 GraphQL 语法并以 JSON 格式导出 AST。
- gqlr - R GraphQL 实现。
Julia
- Diana.jl - 一个 Julia GraphQL 客户端/服务器实现。
- GraphQLClient.jl - 一个用于与服务器无缝集成的 Julia GraphQL 客户端。
水晶
- graphql - GraphQL 服务器库。
- graphql-crystal - 受graphql-ruby、go-graphql和graphql-parser启发的库。
- crystal-gql - 受 Apollo 客户端启发的 GraphQL 客户端碎片。
- graphql.cr - GraphQL 碎片。
Ballerina
- graphql - Ballerina 标准库用于 GraphQL。该库提供了一个 GraphQL 客户端和服务器实现,包括对 GraphQL 订阅的内建支持。
- graphql CLI - 一个用于从 GraphQL 模式生成 Ballerina 代码以及从 Ballerina 代码生成 GraphQL 模式的 CLI 工具。它还提供了使用 GraphQL 模式和文档生成特定用途的 GraphQL 客户端的功能。
Ballerina 示例
工具
工具 - 编辑器 & IDE & 探索器
- GraphiQL - 一个用于探索 GraphQL 的浏览器 IDE。
- GraphQL Editor - 可视化编辑器 & GraphQL IDE。
- GraphQL Voyager - 将任何 GraphQL API 表示为交互式图形。
- Altair GraphQL Client - 为所有平台设计的精美功能丰富的 GraphQL 客户端。
- Brangr - 一种独特、用户友好的数据浏览器/查看器,适用于任何 GraphQL 服务,具有吸引人的结果布局。
- Insomnia - 一个功能齐全的 API 客户端,拥有原生的 GraphQL 查询编辑器。
- Postman - 一个支持编辑 GraphQL 查询的 HTTP 客户端。
- Bruno - 快速、开源的 API 客户端,仅将集合离线存储在 Git 友好的纯文本标记语言中。
- Escape GraphMan - 从一个 GraphQL 端点生成完整的 Postman 收集。
- Apollo Sandbox - 最快的方式用于导航和测试您的 GraphQL 端点。
- GraphQL Birdseye – 将任何 GraphQL 模式查看为动态和交互式图形。
- AST Explorer - 在顶部选择 "GraphQL",探索 GraphQL AST 并通过点击查询突出显示不同部分。
- Firecamp - GraphQL Playground - 最快的协作 GraphQL Playground。
- CraftQL - 一个可视化 GraphQL 模式并将图数据结构输出为 graphviz .dot 格式的命令行工具。
- gqt - 在终端中构建和执行 GraphQL 查询。
- Hackolade - 可视化 GraphQL schema 编辑器,无需任何 GraphQL 语法知识即可生成 Schema Definition Language 文件。还可以通过内省可视化并记录现有端点。更多信息及说明 此处
工具 - 测试、原型设计 & 模拟
- Beeceptor - 一个无代码平台,用于根据您的模式(SDL)创建 AI 驱动的GraphQL Mock Server,支持规则、状态模拟、变异/订阅等功能,以加速开发和集成测试。
- graphql-to-karate - 从您的 GraphQL 架构生成 Karate API 测试
- GraphQL Faker - 🎲 使用伪造数据模拟或扩展您的 GraphQL API。无需编码。
- GraphQL Inspector - 一个用于验证模式、比较模式变更、查找破坏性变更以及检查文档与模式匹配度的工具。
- Microcks - 开源项目(CNCF),云原生 API Mocking 和测试工具,支持 GraphQL 🎥 GraphQL conf 2023
- Keploy - 开源 AI 驱动的 API 测试工具,通过录制真实 API 流量自动生成测试用例和数据 Mock。支持 GraphQL、REST 和 gRPC。
- Step CI - 开源 API 测试和监控工具,支持 GraphQL
工具 - 安全
- GraphCrawler - GraphQL 安全工具包 - 用于 GraphQL 的一站式自动化渗透测试工具包,使用 Python 编写
- Escape - GraphQL 安全扫描器 - 一键扫描您的 GraphQL 端点。免费,无需登录。
- Escape Graphinder - GraphQL 子域名枚举 – 使用子域名枚举、脚本分析和暴力破解的快速 GraphQL 端点查找工具。
- StackHawk - GraphQL 漏洞扫描器 - StackHawk
- InQL Scanner - 用于 GraphQL 安全测试的 Burp 扩展
- GraphQL Raider BurpSuite
- WAF for graphQL - 用于 graphQL API 的 Web 应用防火墙
- GraphQL Intruder - 基于插件的 Python 脚本,用于执行 GraphQL 漏洞评估。
- GraphQL Cop - GraphQL 安全审计工具
- GraphQLer - 依赖感知的动态 GraphQL 测试工具
- Vulert - Vulert 通过检测开源依赖中的漏洞来保护软件——无需访问您的代码。它支持 Js、PHP、Java、Python 等
工具 - 浏览器扩展
- Apollo Client Developer Tools - Chrome 开发者控制台中的 Apollo Client GraphQL 调试工具
- GraphQL Network Inspector - 用于 GraphQL 网络检查的简单干净的 Chrome dev-tools 扩展。
工具 - 文档
- graphdoc - 用于记录 GraphQL Schema 的静态页面生成器。
- gqldoc - 最简单的方式为 GraphQL 创建 API 文档。
- spectaql - 自动生成静态 GraphQL API 文档。
- graphql-markdown - 基于 Docusaurus 的灵活 GraphQL 文档。
- xyd - 生成 GraphQL API 文档。
工具 - 编辑器插件
- Apollo GraphQL VSCode 扩展 - 为 GraphQL 客户端和服务器开发提供丰富的编辑器支持,与 Apollo 平台无缝集成
- js-graphql-intellij-plugin - 为 IntelliJ IDEA 和 WebStorm 提供 GraphQL 语言支持,包括 JavaScript 和 TypeScript 中的 Relay.QL 标记模板
- vim-graphql - 一个 Vim 插件,提供 GraphQL 文件检测和语法高亮功能
- graphql-autocomplete - 在 Atom 中从 GraphQL 端点进行自动完成和代码检查。
工具 - 其他
- graphql-code-generator - 基于模式和文档的 GraphQL 代码生成器。
- swagger-to-graphql - 基于 Swagger 描述的 REST API 构建 GraphQL 类型。允许在 5 分钟内从 REST 迁移到 GraphQL。
- ts-graphql-plugin - 一个语言服务插件,用于在 TypeScript 模板字符串中完整和验证 GraphQL 查询。
- apollo-tracing - 一个 GraphQL 扩展,使您能够轻松地将解析器级别的性能信息作为 GraphQL 响应的一部分获取。
- json-graphql-server - 基于 JSON 数据文件,在不到 30 秒内获得一个完整的假 GraphQL API,无需编写任何代码。
- Prisma - 将您的数据库转换为 GraphQL API。Prisma 让您能够设计您的数据模型,并在几分钟内在线获得一个生产就绪的 GraphQL API。
- Typetta - TypeScript 编写的 Node.js ORM,适合类型爱好者。Typetta 是 GraphQL + NodeJS + TypeScript 技术栈的完美 ORM。
- tuql - 从任何 sqlite 数据库自动创建 GraphQL 服务器。
- Bit - 将 GraphQL API 组织为组件,可通过 NPM 使用或从任何项目进行修改,示例说明。
- openapi-to-graphql - 从任何 OpenAPI 规范(OAS)或 swagger 创建 GraphQL 接口 - 两分钟视频和资源在此。
- Retool – 基于您的 GraphQL API 的内部工具构建器 + GraphQL IDE,具有模式浏览器。
- dataloader-codegen - 一个主观的 JavaScript 库,用于自动生成一组资源(例如 HTTP 端点)上可预测、类型安全的 DataLoaders。
- raphql-inspector : 验证模式,获取模式更改通知,验证操作,查找破坏性更改,查找相似类型,模式覆盖率。
- amplication : Amplication 是一个开源的低代码开发工具。它构建具有 REST API 和 GraphQL 的数据库应用程序,用于具有关系的 CRUD、排序、过滤、分页。
- Blendbase :一个单一的开放源代码 GraphQL API,用于将 CRM 连接到您的 SaaS。通过您的 SaaS 应用程序使用单个 API 查询查询任何客户 CRM 系统(Salesforce、Hubspot 等)。
- microfiber - 以有用方式查询和操作 GraphQL 检视查询结果。
- DronaHQ - 在几分钟内基于 GraphQL 数据构建内部工具、仪表板、管理面板。
- Dynaboard - 使用 AI 从任何 GraphQL API 生成低代码 Web 应用程序。
- gqlhash - 高速查询哈希工具,忽略格式差异和注释,支持多种哈希函数。
- Apollo APQ Debugger - 揭示 Apollo APQ 哈希背后的完整 GraphQL 查询。检查降级流程并在 DevTools 中调试自动持久化查询。
数据库
- Cube - 无头 BI 用于使用 SQL、REST 和 GraphQL API 构建数据应用。连接任何数据库或数据仓库,并立即在其上获得具有亚秒级延迟的 GraphQL API。- 源代码
- Dgraph - 可扩展、分布式、低延迟、高吞吐量的图数据库,使用 GraphQL 作为查询语言。
- EdgeDB - 支持原生 GraphQL 的下一代对象关系型数据库。
- ArangoDB - 通过内置的 Foxx 微服务框架 实现原生多模型数据库与 GraphQL 集成。
- Weaviate - Weaviate 是一个云原生、模块化、实时向量搜索引擎,具有 GraphQL 接口,专为扩展您的机器学习模型而设计。
服务
- AWS AppSync - 可扩展的托管 GraphQL 服务,支持订阅,用于构建实时和离线优先的应用程序
- FakeQL - GraphQL API 仿真服务 ... 因为 GraphQL API 仿真应该是简单的!
- Moesif API Analytics - 一个 GraphQL 分析和监控服务,用于发现功能和性能问题。
- Booster framework - 一个开源框架,让您完全忘记基础设施,让您专注于业务逻辑。它自动为您的模型生成 GraphQL API,支持变异、查询和订阅。
- Nhost - 开源 Firebase 替代品,支持 GraphQL
- Saleor - 以 GraphQL 优先的无头电商平台。
- Stargate - 开源数据网关,目前支持 Apache Cassandra® 和 DataStax Enterprise。
- Vedika - 支持 GraphQL 的吠陀占星术 AI API,用于占星、出生图表、kundali 匹配,以及 108+ 接口。
- Grafbase - 适用于任何数据源的即时 GraphQL API。
CDN
- GraphCDN - 用于缓存 GraphQL API 的 GraphQL CDN。
CMS
- DatoCMS - 基于 CDN 的 GraphQL 头部内容管理系统。
- Apito - 基于云的无头 CMS,支持 CDN、Webhooks、团队协作、内容修订、云函数。
- Hygraph - 构建可扩展的内容体验。
- Cosmic - 基于 GraphQL 的无头 CMS 和 API 工具包。
- Graphweaver - 将多个数据源转换为单个 GraphQL API。
书籍
- GraphQL 指南 by John Resig and Loren Sands-Ramshaw
- 用 Elixir 和 Absinthe 构建 GraphQL API by Bruce Williams and Ben Wilson
- 通往 GraphQL 之路
- 实用 GraphQL by Daniel Schmitz
- 生产就绪 GraphQL by Marc-André Giroux
- 全栈 GraphQL 应用 by William Lyon
视频
- GraphQL:纪录片
- 30 分钟内从零开始学习 GraphQL
- Facebook 中 React 应用程序的数据获取
- React Native & Relay:将现代 Web 技术带到移动端
- 探索 GraphQL
- 创建一个 GraphQL 服务器
- Financial Times 中的 GraphQL
- Relay:一个 React 应用框架
- 与 Facebook 一起构建和部署 Relay
- GraphQL 入门介绍
- 探索 GraphQL@Scale
- Chris McCord 的 Phoenix 未来展望
- 与 Nick Schrock 探讨 GraphQL
- 使用 PostgreSQL/MySQL 为 Node.js 构建 GraphQL 服务器
- 适用于 Node.js 的 GraphQL 服务器教程,包含 SQL、MongoDB 和 REST
- JavaScript Air 第 023 集:从 REST 过渡到 GraphQL
- react-europe 2016 上的 GraphQL 未来
- react-europe 2016 上的 Facebook GraphQL
- 使用 GraphQL 构建 native 移动应用 - react-europe 2016
- 构建 GraphQL 服务器
- GraphQL 教程
- 五年 GraphQL
- GraphQL 是为每个人准备的,由 Moon Highway 提供
播客
- GraphQL.FM 由 Marc-Andre Giroux 和 Tony Ghita 提供。
风格指南
- Shopify GraphQL 设计教程 - 该教程最初由 Shopify 为内部目的创建。它基于 Shopify 在近 3 年中创建和演变生产模式所获得的教训。
- GitLab GraphQL API 风格指南 - 本文档概述了 GitLab GraphQL API 的风格指南。
- Yelp GraphQL 指南 - 该仓库包含有关 Yelp 标准化且较为合理的 GraphQL 方法的文档和指南。
- Principled GraphQL - Apollo 的 10 条 GraphQL 原则,分为三个类别,采用受十二因素应用启发的格式。
博客
博客 - 安全
- Escape - The GraphQL 安全博客 - 了解 GraphQL 安全、性能、测试以及使用 GraphQL 生态系统的最新工具和最佳实践来构建生产就绪的 API。
- 9 GraphQL 安全最佳实践
- 发现 GraphQL 终端和 SQLi 漏洞
- Securing GraphQL API
- Implementing GraphQL 前需要考虑的安全要点
- GraphQL 中的授权模式
Posts
- 使用 Apollo Federation 和 Apollo GraphOS 的 GraphQL 联邦示例
- 使用 Hasura GraphQL Engine 和 Cube 进行 GraphQL 联邦
- 使用 DataLoader 批量处理 GraphQL 请求
- 介绍 Relay 和 GraphQL
- GraphQL 简介
- 非官方 Relay 常见问题解答
- 你的第一个 GraphQL 服务器
- GraphQL 概述 - 使用 GraphQL 和 Node.js 入门
- 你应该尝试 GraphQL 的 4 个原因
- 从 REST 迁移到 GraphQL
- 使用 GraphQL 编写基本 API
- 使用 Node.js 和 SQL 构建 GraphQL 服务器
- Financial Times 中的 GraphQL
- 实现 GraphQL RBAC 授权:实用指南
- 从 REST 到 GraphQL
- GraphQL:一种数据查询语言
- GraphQL 和 Relay 中的订阅
- Relay 101:构建一个 Hacker News 客户端
- GraphQL 简写符号备忘录
- GitHub GraphQL API
- Github GraphQL API React Example
- Testing a GraphQL Server using Jest
- How to implement viewerCanSee in GraphQL
- Preventing traversal attacks on your GraphQL API
- 使用 faker.js 逼真地模拟您的 GraphQL 服务器
- 使用 React 和 GraphQL 创建无限加载列表
- REST 与 GraphQL
- GraphQL API 的认证与授权
- 使用 Siler 在 Swoole 之上构建 GraphQL API
- 编写 Boss 风格的 GraphQL 查询:Fluent GraphQL 客户端指南
- 使用 GraphQL 数据即服务层提升您的无服务器游戏水平
- 深入探索 Relay:友好且带有主观意见的 GraphQL 客户端
- 通过组件使您的 GraphQL API 更易于采用
- 未记录:将 GraphQL schema 的一部分隐藏起来,不让其被内省
- 使用 Apache Kafka 在 Ballerina 中实现 GraphQL 订阅
- 如何测试您的 GraphQL 端点
- 为什么自动持久查询无法扩展
教程
- 如何使用 GraphQL - 全栈教程网站,提供适用于所有主流框架和语言的课程,包括 React、Apollo、Relay、JavaScript、Ruby、Java、Elixir 等。
- Apollo Odyssey - Apollo 的免费交互式学习平台。
- 学习 GraphQL - 尝试学习 GraphQL。
- GraphQL Roadmap - 学习 GraphQL 的逐步指南。
- GraphQL 安全学院 - 一个免费且交互式的平台,用于学习 GraphQL 安全:如何发现、利用和修复 GraphQL 漏洞。