5 个 JavaScript GraphQL API 示例,可供学习 SWAPI GraphQL 包装器、用于 TOSKA 会议的 GraphQL API、Metaphysics SpaceX Land API、Rick and Morty API

2025-06-05

5 个值得学习的 JavaScript GraphQL API 示例

SWAPI GraphQL 包装器

TOSKA 会议的 GraphQL API

形而上学

SpaceX Land API

Rick and Morty API

许多公司从向开发者提供服务的 REST API 转型,(也)公开了 GraphQL API。Github、Shopify 等公司就是这样做的例子。通常,他们这样做的原因是为了让开发者更容易地查询(或修改)他们实际需要的数据。但是,使用 GraphQL API 与自行构建 GraphQL API 之间存在很大差异。构建 GraphQL API 时,您必须深入研究不同的方法和模式,例如模式优先与代码优先(有关更深入的解释,请参阅本文),或者拥有要连接的数据源。

在这篇博文中,我收集了 5 个 GraphQL API 的示例,它们既有可供实际尝试的 demo,也有包含其源代码的公共仓库。通过这些示例,你不仅可以学习如何构建 GraphQL API,还可以创建一个使用这些 API 的 Web 应用程序,从而了解 GraphQL 前端工具。让我们开始吧!

SWAPI GraphQL 包装器

这个项目封装了流行的星球大战 API (SWAPI),我在研讨会或创建原型测试新技术时经常使用它。通过使用data-loader等软件包高效地获取数据,并使用aws-serverless-express在无服务器上低成本运行,对于任何想要开始构建 GraphQL API 的人来说,这都是一个很好的例子。此 API 的完整示例可在此处找到。

GitHub 徽标 graphql / swapi-graphql

GraphQL 模式和包装 SWAPI 的服务器。

SWAPI GraphQL 包装器

使用 GraphQL 构建的SWAPI包装器,将其转换为此模式

用途:

请尝试一下:http://graphql.org/swapi-graphql

部署到 Heroku 部署到现在

入门

安装依赖项

SWAPI 包装器

SWAPI 包装器位于./swapi。可以使用以下命令进行测试:

纱线测试

本地服务器

本地 Express 服务器位于./server。可以使用以下命令运行它:

yarn build #只有当你改变了一些东西
yarn start

将在http://localhost:8080/ (或类似地址;实际端口号将打印到控制台)打开一个 GraphiQL 实例来探索 API。




React 芬兰

会议不仅是学习的好地方,还能以其他方式教会你新东西。React芬兰的组织者已经将其会议网站的 API 代码上传到网上。由于他们也组织过 GraphQL 会议,所以他们知道如何设置 GraphQL API。你可以在这里查看他们的 API ,甚至在参加会议之前就可以开始学习!

GitHub 徽标 ReactFinland / graphql-api

会议的 GraphQL API。

ReactFinland/graphql-api 的代码状态

TOSKA 会议的 GraphQL API

我们会议的简单 GraphQL API:

查看查询 API:

  1. NODE_ENV="development" npm start
  2. http://localhost:3000/graphql-2018http://localhost:3000/calendar-2018.ics(日历)

图像处理

图片会被推送到Cloudinary,并作为我们的图片 CDN。.env如果您想使用图片,请记住进行本地开发设置:

.env

CLOUDINARY_CLOUD_NAME=react-finland
CLOUDINARY_API_KEY=<get from Cloudinary account>
CLOUDINARY_API_SECRET=<get from Cloudinary account>

还要记得在 API 的主机上进行相同的设置。

您可以通过 访问图像http://localhost:3000/graphql-2018/images。例如:http://localhost:3000/graphql-2018/images/ken.jpg

Webhook

Heroku 到 Netlify

API 已使用 webhook 连接到站点,以便每当 API 发生变化时它都会进行构建:

  • heroku config:set REBUILD_SITES=<Netlify urls separate by comma go here> -a react-finland-api

记得以生产模式运行服务器。这样才能启用站点重建钩子!




有艺术感

在免费的在线Artsy 平台上,您可以通过网页和移动设备发现和收藏艺术品。除了深受艺术爱好者喜爱之外,他们还开源了 GraphQL API,为其应用程序提供数据。您可以点击此处,使用暂存数据试用他们的 API,从而清晰地了解其功能。该项目的源代码向您展示了如何设置生产级 GraphQL API 💪。

GitHub 徽标 艺术/形而上学

Artsy 的 GraphQL API

形而上学

Metaphysics 是一个兼容GraphQL的 API,它封装了各种 Artsy API。您可以点击此处,使用我们的预发布 API 进行尝试。

它建立在expressexpress-graphql和的基础上graphql。并graphiql提供了一个可以使用的沙箱。

它目前在Artsy.netArtsy iOS App 的各个生产环境中使用

CircleCI 代码验证

SpaceX Land API

Carlos Rufo开发的这个 API可以让你探索 SpaceX 提供的所有公开数据,并使用 GraphQL 进行查询。通过访问此 GraphQL API 的界面,你可以发现关于以往发射、SpaceX 火箭等更多信息。此外,该项目还提供了一些示例,帮助你将 Web 应用程序连接到它。你可以在CodeSandbox上找到一个使用 Apollo 的 React 应用程序示例。是不是很酷?

GitHub 徽标 spacexland / api

🚀 GraphQL 和 REST API 用于探索所有火箭、发射和其他 SpaceX 的数据

SpaceX Land API

GraphQL 和 REST API 来探索所有 🚀 、发射和其他 SpaceX 数据!


API 适用于
👩‍💻 技术人员   👨‍🏫
👴 & 没有技术人员   👩‍🌾
🌏 来自四面八方  🌖
💻 使用任何设备  📱
此外,对于那些
👩‍🚀 小梦想家   👨‍🚀

用法

浏览所有SpaceX 数据,其中 用户和开发者体验!
设置/授权
🤗 完全更新的文档
😍 基于网络的交互式

只需单击复选框即可检查可用数据,能够精确定义所需的数据,用单个调用替换多个请求,发现与 API 交互的新方法!

💜 GraphQL 🔗 https://api.spacex.land/graphql

如果您确实是老派 API 的粉丝,请不要错过基于其各自GraphQL 模式自动生成的REST API !

🖤 休息 🔗 https://api.spacex.land/rest

打造酷炫 🚀 东西

创作和分享从未如此简单 💯 使用您最喜欢的 FE 的 Web 应用程序项目……

瑞克和莫蒂 API

此列表中的最后一个 API 结构简单,非常适合 GraphQL 初学者使用,并且以热门电视剧《瑞克和莫蒂》为原型。它将所有要显示的数据同时暴露给 GraphQL 和 REST API,因此您可以轻松比较这两种技术。该项目由Axel Fuhrmann创建,GraphQL 端点可通过此URL查看。准备好学习《瑞克和莫蒂》的一切吧!

GitHub 徽标 afuh / rick-and-morty-api

Rick and Morty API

特拉维斯 Coveralls github 分支 Twitter 关注

Rick and Morty API

嘿,你想过拿着毛圈布折叠吗?我这里有一个,抓住我的毛圈布翻盖。

Rick and Morty API(简称 ShlaAPI)是一个基于电视剧《Rick and Morty》的 RESTful 和 GraphQL API 。您将访问数百个角色、图像、地点和剧集的数据。

要开始,请查看rickandmortyapi.com上的文档或继续阅读;)

您可以在此处查看网站的代码

内容

介绍

这…

这份清单里还漏掉了什么项目吗?请在评论区留言告诉我,别忘了留下任何反馈哦😄!

文章来源:https://dev.to/gethackteam/5-examples-of-javascript-graphql-apis-to-learn-from-31gf
PREV
使用 Big-O 的数组优势、劣势、插入和删除算法
NEXT
我过去几个月写的 10 条软件工程谚语/名言