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 的完整示例可在此处找到。
GraphQL 模式和包装 SWAPI 的服务器。
React 芬兰
会议不仅是学习的好地方,还能以其他方式教会你新东西。React芬兰的组织者已经将其会议网站的 API 代码上传到网上。由于他们也组织过 GraphQL 会议,所以他们知道如何设置 GraphQL API。你可以在这里查看他们的 API ,甚至在参加会议之前就可以开始学习!

TOSKA 会议的 GraphQL API
我们会议的简单 GraphQL API:
查看查询 API:
NODE_ENV="development" npm start
http://localhost:3000/graphql-2018或http://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 💪。
形而上学
Metaphysics 是一个兼容GraphQL的 API,它封装了各种 Artsy API。您可以点击此处,使用我们的预发布 API 进行尝试。
它建立在express、express-graphql和的基础上graphql。并graphiql提供了一个可以使用的沙箱。
它目前在Artsy.net和Artsy iOS App 的各个生产环境中使用
元

- 状态:生产
- CI/部署: CircleCi;合并到 的 PR
artsy/metaphysics#master将自动部署到暂存区;从staging到 的PRrelease将自动部署到生产环境。开始部署……
- 生产:
- 分期:
SpaceX Land API
Carlos Rufo开发的这个 API可以让你探索 SpaceX 提供的所有公开数据,并使用 GraphQL 进行查询。通过访问此 GraphQL API 的界面,你可以发现关于以往发射、SpaceX 火箭等更多信息。此外,该项目还提供了一些示例,帮助你将 Web 应用程序连接到它。你可以在CodeSandbox上找到一个使用 Apollo 的 React 应用程序示例。是不是很酷?
🚀 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查看。准备好学习《瑞克和莫蒂》的一切吧!
这份清单里还漏掉了什么项目吗?请在评论区留言告诉我,别忘了留下任何反馈哦😄!
文章来源:https://dev.to/gethackteam/5-examples-of-javascript-graphql-apis-to-learn-from-31gf