问题标签 [grape-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
356 浏览

sinatra - 如何在一个 Sinatra/Grape 文件中运行多个 Rack::Handler::WEBrick

基本上我在一个 Sinatra / GrapeAPI 文件中有多个 API 应用程序

Grape gem 推荐使用级联:

但是,这将忽略我宝贵的 SSL 设置。

如何运行多个服务器配置?

0 投票
1 回答
612 浏览

ruby-on-rails-4 - 葡萄-kaminari 与葡萄制造商

有没有办法让这个grape-kaminari 与grape-jbuilder gem 一起工作?

我尝试在实际 API 模块端点中对记录进行分页:

而且我还尝试将分页调用放在 jbuilder 对象中:

两者都不起作用。有人可以帮我完成这项工作吗?

0 投票
1 回答
1351 浏览

ruby-on-rails - 使用 Grape API 应用程序配置 Warden

我在我的 Rails/Grape API 应用程序中配置了 Warden config/initializers/warden.rb

(我会分享password策略代码,但它确实不适用于这个问题。我将它存储在config/initializers/warden/strategies/password.rb。)

当我使用无效的登录凭据运行 RSpec 请求规范时:

它给了我这个错误:

在我的一生中,在查看在线示例(例如dblock/grape_warden)后,我无法让 Warden 正确使用 Grape 。大多数示例都很简单,并将 Grape 应用程序本身设置为失败应用程序。

当我在我的 Grape 应用程序中传递一个模块时failure_app

即使我post :unauthenticated在该模块中有一个块,我也会收到此错误:

当我将unauthenticated定义移动到我的 Grape 应用程序的根目录时,也会发生同样的情况。

0 投票
1 回答
1335 浏览

ruby - 如何使用 Ruby Grape 从 get 请求中提取数据

我正在通过尝试制作一个 Yo API 回调函数来试验葡萄和 Ruby。

我可以像这样启动和运行简单的示例。. .

给定具有以下格式的回调,我将如何将和坐标提取username到单独的 ruby​​ 变量中?xy

当位置数据搞砸了。. .

0 投票
2 回答
1167 浏览

rspec - 如何使用 Grape Entity 进行请求测试?

响应正文返回“带有葡萄实体的格式化 json”,但 first_prefered 返回完整对象(json 格式)。

如何转换first_prefered对象只是为了使用葡萄实体获取暴露的字段?

精选HomekeeperResponseEntity:

测试:

0 投票
1 回答
1351 浏览

ruby-on-rails - rails ActiveModel::Serializers 与葡萄相比如何?

谁能解释和之间的ActiveModel::Serializers区别Grape。我应该使用其中一个还是可以/应该将它们一起使用。有人还可以解释使用上述一种(或两种)与仅使用rails它自己来构建一个的好处restful JSON API吗?

先感谢您

0 投票
2 回答
550 浏览

ruby-on-rails - 通过 Grape 和 Rails 上的 API 版本更改视图模板

我正在使用 Ruby on Rails 4.1 上的 Grape gem 构建 Web API,并使用它们的“版本”功能。

示例代码在这里。

使用这些代码,app/views/api/users.rabl用于根据请求查看模板http://localhost:3000/api/v1/users

我想在请求中使用app/views/api/v1模板v1。有什么办法吗?

当前的

  • /api/v1/users->app/views/api/users.rabl
  • /api/v2/users->app/views/api/users.rabl

  • /api/v1/users->app/views/api/v1/users.rabl
  • /api/v2/users->app/views/api/v2/users.rabl
0 投票
1 回答
2968 浏览

ruby-on-rails - 如何将哈希传递给 Grape API 方法?

我在使用 Grape gem 和参数验证时遇到问题。这背后的想法是通过 API 服务使用嵌套属性创建一个复杂的实体。

我有一种创建旅行的方法,旅行有很多目的地,我想使用散列(使用accepts_nested_attributes_for帮助器)传递这些目的地。

我对参数有这个葡萄限制:

我正在尝试发送这样的内容:

为了在方法内部构建类似下面的结构并创建行程:

我正在使用 POSTMAN chrome 扩展来调用 API 方法。

这是一个屏幕截图:在此处输入图像描述

如果有人可以帮助我,我将不胜感激。

0 投票
0 回答
751 浏览

ruby-on-rails - 错误:“内部服务器错误:未定义的方法‘send_data’

我试图在 ApplicationController 中调用 send_data,然后发生错误。

环境版本在这里。:红宝石 2.1.2p95 / angularjs 1.2

很多人建议只能在ApplicationController中调用send_data,这样讲如何将ApplicationController的方法暴露给外部类。 如何从 ApplicationHelper 调用 ApplicationController 方法

但我在 ApplicationController 中调用 send_data。

我该如何解决这类问题。

请...


更新:我的系统包括葡萄。所以send_csv将从葡萄实例中调用

[来电]

[拨电至]

这种方法会产生新的错误。

如何从 Grape 实例调用 Application Controller 中的实例方法?

我感谢您的帮助。

0 投票
2 回答
837 浏览

ruby-on-rails - Ember.js POST 请求从服务器(Grape API)返回 400,但已成功存储到本地存储中

几个小时以来,我一直试图让一个简单的 Ember.js 应用程序发布到 Grape API 后端,但我似乎无法让它工作。我知道 API 有效,因为我可以通过 Swagger 文档向它发布新记录,并且它们会被持久化。我知道 API 和 Ember 说得很好,因为我可以从服务器获取所有记录并在页面上与它们进行交互,而且我知道 Ember 在真空中运行良好,因为我的记录保存在本地存储中。

但是,我似乎无法让 POST 请求正常工作。它总是返回 400。我已经正确配置了 Rack-Cors,并且我在前端设置了一个 ActiveModelAdapter,在后端设置了一个 ActiveModelSerializer。

这是模型

和控制器

API 的相关部分如下所示

我使用的表格是...

而我得到的回应是...

有接盘侠吗?对不起,我是新手。有些东西没有绑定,但我不知道为什么。


更新

更多调查...

图片:对 API cURL 的 POST 请求(通过 Postman)工作得很好。.

但是,当我从 Ember 发布时,服务器响应仍然是

图片:来自 Chrome 开发工具的 POST 请求的输出如下所示

我还将控制器更改为...,这为我提供了上面 chrome 开发工具日志中的输出。