问题标签 [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 回答
85 浏览

ruby-on-rails - 使用 Grape API 是否可以有重复的 HTTP GET 查询键?

我正在尝试使用 Grape 创建自定义 REST API,但遇到了一个问题,即我想为选定的方面传递重复的查询字符串参数,例如

params 对象只有最后一个重复的查询值,所以想知道这是否真的可以用 Grape API 实现?

0 投票
2 回答
1558 浏览

ruby - 无法使用 rspec 和 Grape 设置自定义标题参数

我使用 Grape api,我需要使用自定义标头编写测试

我的代码:

但是路线根本没有标题,我也尝试过headers['secret'] = "ASDFGHJKL" ,也request.env['secret'] 没有任何效果。

如何将 rspec 中的标头传递给葡萄路线?

0 投票
2 回答
680 浏览

ruby-on-rails - 在 json 输出 Grape 和 Rabl 中添加自定义键值对

我正在用 Rails 构建一个 API。我用来构建 api 的 gem 是 Grape 和 Rabl。我已经做了很多工作,但现在我必须status在来自 api 的所有 json 响应之前添加标志。我怎么能这样做?

我有这个.rabl文件。

这使得以下输出

但我想在打开status之前有一个标志,如下所示parent

但我不知道如何使用 rabl 来实现这一点。请指导我完成这个。如果不可能,请提供替代解决方案。

0 投票
0 回答
722 浏览

ruby-on-rails - Grape::API – RuntimeError: 在自动加载常量用户时检测到循环依赖

我正在使用 Rails 4.1 测试 Grap API 框架,但我被这个循环依赖所困扰。知道为什么我得到它吗?

应用程序/api/v1/user.rb

应用程序/api/api.rb

应用程序/模型/user.rb

0 投票
0 回答
1070 浏览

ruby-on-rails - 如何在葡萄中传递查询字符串和POST参数

我正在使用. 我想创建一个带有参数和查询字符串参数的 post 方法。如何使用它们?谁能给我一个很好的例子?grape Restful APIPOST

我知道传递查询字符串参数(键,符号)如下。但是如何使用 POST 参数。我想传递帖子参数(比如名字,id)。如何在代码中做到这一点。

https://www.abc.com/api/v2/list?key=abc&sign=xyz

我的代码如下

除此之外,我还想传递帖子参数(比如名称、id)。怎么做?

0 投票
1 回答
1159 浏览

ruby-on-rails - 如何强制 Grape 只接受并返回 JSON?

我如何限制我的 API 在 Rails 和 Grape 上仅接受和响应 json 格式,我已经尝试format :json过我的 Grape 控制器并且(例如)我可以在 example.com/api/v1/ping.json 上访问它,但是我也可以通过example.com/api/v1/ping.xml、example.com/api/v1/ping.foobar访问它,扩展列表还在继续……

我想做的事情是在 example.com/api/v1/ping.not_json_extensions 上抛出错误

我正在使用:

  • 导轨 (4.1.1)
  • 葡萄 (0.7.0)

/config/routes.rb

/控制器/api/base.rb

/controllers/api/v1/base.rb

结尾

/controllers/api/v1/ping.rb

结尾

0 投票
1 回答
367 浏览

ruby-on-rails - 具有 transactional_fixtures=true 的 Rspec 引发唯一性错误

我正在测试我的 API,使用 Grape 和 Rails 构建,使用 RSpec 并得到很多唯一性验证错误。

每次测试后我都使用config.use_transactional_fixtures = true回滚数据库,但出现以下错误:

我认为问题在于,我的模型具有传递依赖关系:

ClientsContactsContacts有报价。因此,在创建报价单时,应创建与相应客户的相应联系人。并且引文总是属于 a Request。但看起来,FactoryGirl 没有创建新实例?

验证错误属于引用。如果我删除报价模型上的唯一性验证,我会得到同样的错误。实际上,它属于客户端模型。

似乎并非所有表都被截断?我尝试了 DatabaseCleaner gem,但得到了相同的错误(use_transactional_fixtures在尝试 DatabaseCleaner 之前被禁用)。

注意:我正在使用 Postgres 和公寓 gem 进行多租户。

那是我的工厂:

客户工厂

联系工厂

报价厂

请求工厂

我的一部分quotations_spec.rb

更新 1

我切换到 DatabaseCleaner 并尝试调试:

实际上,数据库被清理了,所以.Contact.all之后Client.all是空的Database.clean。这很令人困惑,因为否则不应该发生验证错误?

0 投票
1 回答
4740 浏览

ruby - 如何为葡萄制作对象数组

我正在为 Rails 应用程序使用 Grape Api 构建 API。

我现在正在尝试的是这种形式:在此处输入图像描述

这是输出:

我省略了 json 的某些部分以使其更短。

我需要的是有一个数组,或者ssa直到现在都无法做到。它制作了一个ssa只有一个对象的数组。

在我的 API 控制器中,我有以下代码:

0 投票
1 回答
880 浏览

curl - 卷曲缺少 Etag,但出现在浏览器请求中

我在 rails 4.0.3 / unicorn 下有一个葡萄 api。

如果我使用 curl 发出请求,那么返回的“etag”似乎丢失了。但是如果我对'swagger UI'做同样的事情,那么etag就会出现在下一个请求中+缓存也可以工作。

在浏览器中:

- 第一个请求:

-第二个请求:

我无法用 curl 检查所有这些,因为这是我收到的标题:

如果我向应用程序的根发出 curl 请求,则返回 ETAG:

curl -I --header "授权:d0294f288597e5979a5655a70ec63b88" http://...

欢迎任何解释......似乎葡萄正在去除卷曲的ETAG......(但这不可能发生......显然......)

0 投票
1 回答
1045 浏览

ruby-on-rails-4 - How can I pass headers in grape?

How can I pass headers in grape with post method?

I am passing the header as follows. This method is not working.

The above API call is for click here

I passed the post request dynamically in chrome rest client. It gives the correct response. Check with

Method: post

Url: https://www.coins-e.com/api/v2/market/LTC_BTC/

Headers:

key :ba57bca64f2adf4721dfd972392321608c38a955370f8349e11f679d

sign:551a7b9a02a4e3ad811cb9f40546135879978e18f1e35f3414410d77a2fdff183941f0593b913695eae18d9236eb3466e01e01026ffb95411e66042078d918a1

Body:

method=neworder&nonce=1403675015&order_type=buy&rate=0.002312&quantity=0.002312