[ruby on rails] rails中使用graphQL

这篇具有很好参考价值的文章主要介绍了[ruby on rails] rails中使用graphQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 添加gem

  • gem 'graphql’是主要提供server的, gem 'graphiql-rails’是用来生成一个graphiql查询页面IDE,自己用来测试的
group :development do
  gem 'graphiql-rails'
end

gem 'graphql'

2.使用命令生成模板文件

rails g graphql:install

[ruby on rails] rails中使用graphQL

  • 在API only中,routes不会自动填充graphiql路由,rails中会自动填充,所以我们需要在routes中添加
  if Rails.env.development?
    mount GraphiQL::Rails::Engine, at: "/graphiql", graphql_path: "graphql#execute"
  end
  post "/graphql", to: "graphql#execute"
  • 在API only中
  1. 要使用graphiql IDE,我们还需要添加 app/assets/config/manifest.js 文件
//= link graphiql/rails/application.css
//= link graphiql/rails/application.js
  1. 在config/application.rb中添加require "sprockets/railtie"

[ruby on rails] rails中使用graphQL
然后就可以访问http://localhost:3000/graphiql
[ruby on rails] rails中使用graphQL

3. 修改默认目录结构

  • rails g graphql:install 后默认的目录结构如下, rails g graphql:object note 生成 note_typequery_type 的同一层目录
    [ruby on rails] rails中使用graphQL

  • 我们按照表名重新设置目录结构,这样schema中的目录会多一层表目录,我们该表相关的api都放在这个目录下,使结构更加清晰,否则所有query都和query_type在同一层目录,代码结构看起来比较混乱,前端看schema也比较混乱,修改结构后定义rb文件要注意module名字符合目录结构
    [ruby on rails] rails中使用graphQL

4. 修改controller,定义current_user

[ruby on rails] rails中使用graphQL

5. 添加query查询

  • 使用 rails g graphql:object note 生成 note_type.rb,给挪到output目录里

field 都是要暴露给前端的返回值,会生成在schema文档中
[ruby on rails] rails中使用graphQL文章来源地址https://www.toymoban.com/news/detail-500320.html

  • 代码示例

到了这里,关于[ruby on rails] rails中使用graphQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 框架分析(6)-Ruby on Rails

    link 主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步。 Ruby on Rails(简称Rails)是一种使用Ruby编程语言开发的开源Web应用程序框架。它遵循MVC(Model-View-Controller)架构模式,旨在提供简

    2024年02月10日
    浏览(38)
  • 【ruby on rails】M1遇到的一些安装问题

    1. homebrew位置变了 原来的 Cellar Homebrew Caskroom 都是在 /usr/local/ 下面 M1在 /opt/homebrew 下面 2. 装ruby M1电脑安装ruby,装不上的问题 3. 装puma报错 3. 装nokogiri报错 4. 安装gem报错就用arch -arch x86_64 gem install试试 5. rails c 报错 ruby版本2.7.1的 enum 的bug 解决方案: 把ruby版本升级到2.7.5

    2024年02月15日
    浏览(43)
  • ubuntu 18.04 LTS安装ruby on rails

    由于令人‘烦恼’的网络问题,不用代理来正确安装rails已不可能。我自己配置了一个VirtualBox的ubuntu 18.04 LTS的虚拟机,在其中设置了rails的开发环境,你可以直接在virtualbox中导入它,然后即可拥有rails环境。在百度网盘中下载它,提取码:4zp4。用户名:myubuntu, 密码:123456

    2024年01月20日
    浏览(40)
  • 【漏洞复现】Ruby on Rails 路径穿越与任意文件读取漏洞(CVE-2019-5418)

    1. 漏洞简介 Ruby on Rails使用了指定参数的render file来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体位置。我们可以通过修改访问某控制器的请求包,通过…/…/…/…/来达到路径穿越的目的,然后再通过{{来闭合模板查询路径,那我们访问的文件会被当做外部

    2024年02月04日
    浏览(57)
  • [ruby on rails] postgresql分词搜索 pg_jieba 和 zhparser 方案

    安装 测试 在测试时,可以感觉到 jieba 的第一次分词有明显的延迟和卡顿,可以通过 Postgresq 预加载 jieba 的动态库和配置文件改善(/usr/local/var/postgres/postgresql.conf)。 mac 安装 scws intel 安装在/usr/local 下 M1安装在/opt/homebrew 下,M1需要把相关文件拷贝给/usr/local 下载词典文件 测试效

    2024年02月16日
    浏览(49)
  • Spring Boot中使用GraphQL

    GraphQL是Facebook的一个相对较新的概念,被称为Web API的REST的替代品。 在本文中,我们将学习如何使用 Spring Boot 设置 GraphQL 服务器,以便我们可以将其添加到现有应用程序中或在新应用程序中使用它。 传统的 REST API 使用服务器管理资源的概念。我们可以使用各种HTTP请求以一些

    2024年02月15日
    浏览(30)
  • 何时使用 GraphQL、gRPC 和 REST?

    构建 API 是现代工程中开发人员的最重要任务之一。这些 API 允许不同的系统进行通信和数据交换。虽然  REST  多年来一直是实现 API 的事实标准,但今天也有新兴的标准,如  gRPC  和  GraphQL 。 “应用程序编程接口”(API)是各种软件服务之间的通信渠道。传输请求和响应

    2024年04月25日
    浏览(26)
  • 使用GraphQL在Postman中进行API测试

    GraphQL 是一种用于API的开源数据查询和操作语言,用于API的查询语言和运行时。它使客户端能够精确地指定其数据需求,并获得预测性地结果。GraphQL旨在提高API的效率、灵活性和可靠性。 Postman 是一款用于API开发的强大工具,它支持REST和GraphQL API。Postman还提供了一个用户友好

    2024年02月12日
    浏览(33)
  • GraphQL渗透测试详解

    GraphQL 是一种查询语言,用于 API 设计和数据交互。它是由 Facebook 发布的一款新型的数据查询和操作语言,自 2012 年起在内部使用,自 2015 年起获得开源许可。由于技术原因,越来越多的公司使用 GraphQL 并将其后端切换到这个新系统,但是,虽然这种查询语言有很多优点,但

    2023年04月24日
    浏览(35)
  • GraphQL注入

    GraphQL是一种查询语言,用于API设计和数据交互,不仅仅用于查询数据库。GraphQL 允许客户端在一个请求中明确地指定需要的数据,并返回预期的结果;并且将数据查询和数据修改分离开,大大增加灵活性。GraphQL正在迅猛发展,但也存在着一些安全问题。 GraphQL支持多种查询方

    2024年04月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包