【Rails6.1.4】完成GraphQL的引入步骤

GraphQL是什么?

在没有控制器的情况下运行的API,如同直接连接路由和视图的图像
与SQL / REST进行比较较多
SQL:专用于数据库的查询语言
GraphQL:用于互联网的查询语言

首先,创建应用程序。

$ rails new [アプリ名] -d postgresql   
$ cd [アプリ名]
$ rails db:create && rails db:migrate

完成后,先进行一次应用程序的运行确认(rails s)。

使用scaffold来创建CRUD功能。

$ rails g scaffold blog title:string text:string
$ rails db:migrate

一旦确认应用程序的运行(rails s)

3. 添加宝石

我会查看GitHub官方的公式。
我会查看GitHub官方的GraphQL。

スクリーンショット 2021-07-01 12.19.58.png

在Gemfile中添加没有版本指定的依赖项,按照公式指示。

gem 'graphql'
$ bundle install

4. 开始使用

当结束后,跳转到”开始使用”页面。

スクリーンショット 2021-07-01 12.22.15.png

按照公式的要求

$ rails g graphql:object Blog title:String text:String
スクリーンショット 2021-06-30 18.00.16.png
スクリーンショット 2021-07-01 12.38.11.png

请先在这里检查应用程序运行情况(rails s)

发生了错误(ActionView::Template::Error (graphiql/rails/application.css))。

在 (app/assets/config/manifest.js) 文件中添加并解决

//= link graphiql/rails/application.css
//= link graphiql/rails/application.js

在终端上预编译已添加的清单文件。

$ rails assets:precompile
スクリーンショット 2021-07-01 12.25.23.png
スクリーンショット 2021-07-01 12.27.05.png
スクリーンショット 2021-07-01 12.30.08.png
スクリーンショット 2021-07-01 12.31.00.png

如果您可以看到最后的GraphQL画面并且出现了错误,那么这可能是写法的问题。

【参考】:
以下提供了几个参考链接,供您查阅:
1. https://qiita.com/jerrywdlee/items/a08589ea160c470e67f6
2. https://qiita.com/jintz/items/4ddc6bf4f95238eff5e9
3. https://qiita.com/sakupa80/items/e65f1ecc513306edf9e9

广告
将在 10 秒后关闭
bannerAds