问题标签 [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.
ruby-on-rails - 使用 Grape API 是否可以有重复的 HTTP GET 查询键?
我正在尝试使用 Grape 创建自定义 REST API,但遇到了一个问题,即我想为选定的方面传递重复的查询字符串参数,例如
params 对象只有最后一个重复的查询值,所以想知道这是否真的可以用 Grape API 实现?
ruby - 无法使用 rspec 和 Grape 设置自定义标题参数
我使用 Grape api,我需要使用自定义标头编写测试
我的代码:
但是路线根本没有标题,我也尝试过headers['secret'] = "ASDFGHJKL"
,也request.env['secret']
没有任何效果。
如何将 rspec 中的标头传递给葡萄路线?
ruby-on-rails - 在 json 输出 Grape 和 Rabl 中添加自定义键值对
我正在用 Rails 构建一个 API。我用来构建 api 的 gem 是 Grape 和 Rabl。我已经做了很多工作,但现在我必须status
在来自 api 的所有 json 响应之前添加标志。我怎么能这样做?
我有这个.rabl
文件。
这使得以下输出
但我想在打开status
之前有一个标志,如下所示parent
但我不知道如何使用 rabl 来实现这一点。请指导我完成这个。如果不可能,请提供替代解决方案。
ruby-on-rails - Grape::API – RuntimeError: 在自动加载常量用户时检测到循环依赖
我正在使用 Rails 4.1 测试 Grap API 框架,但我被这个循环依赖所困扰。知道为什么我得到它吗?
应用程序/api/v1/user.rb
应用程序/api/api.rb
应用程序/模型/user.rb
ruby-on-rails - 如何在葡萄中传递查询字符串和POST参数
我正在使用. 我想创建一个带有参数和查询字符串参数的 post 方法。如何使用它们?谁能给我一个很好的例子?grape
Restful API
POST
我知道传递查询字符串参数(键,符号)如下。但是如何使用 POST 参数。我想传递帖子参数(比如名字,id)。如何在代码中做到这一点。
https://www.abc.com/api/v2/list?key=abc&sign=xyz
我的代码如下
除此之外,我还想传递帖子参数(比如名称、id)。怎么做?
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
结尾
ruby-on-rails - 具有 transactional_fixtures=true 的 Rspec 引发唯一性错误
我正在测试我的 API,使用 Grape 和 Rails 构建,使用 RSpec 并得到很多唯一性验证错误。
每次测试后我都使用config.use_transactional_fixtures = true
回滚数据库,但出现以下错误:
我认为问题在于,我的模型具有传递依赖关系:
Clients
有Contacts
和Contacts
有报价。因此,在创建报价单时,应创建与相应客户的相应联系人。并且引文总是属于 a Request
。但看起来,FactoryGirl 没有创建新实例?
验证错误不属于引用。如果我删除报价模型上的唯一性验证,我会得到同样的错误。实际上,它属于客户端模型。
似乎并非所有表都被截断?我尝试了 DatabaseCleaner gem,但得到了相同的错误(use_transactional_fixtures
在尝试 DatabaseCleaner 之前被禁用)。
注意:我正在使用 Postgres 和公寓 gem 进行多租户。
那是我的工厂:
客户工厂
联系工厂
报价厂
请求工厂
我的一部分quotations_spec.rb
更新 1
我切换到 DatabaseCleaner 并尝试调试:
实际上,数据库被清理了,所以.Contact.all
之后Client.all
是空的Database.clean
。这很令人困惑,因为否则不应该发生验证错误?
ruby - 如何为葡萄制作对象数组
我正在为 Rails 应用程序使用 Grape Api 构建 API。
我现在正在尝试的是这种形式:
这是输出:
我省略了 json 的某些部分以使其更短。
我需要的是有一个数组,或者ssa
直到现在都无法做到。它制作了一个ssa
只有一个对象的数组。
在我的 API 控制器中,我有以下代码:
curl - 卷曲缺少 Etag,但出现在浏览器请求中
我在 rails 4.0.3 / unicorn 下有一个葡萄 api。
如果我使用 curl 发出请求,那么返回的“etag”似乎丢失了。但是如果我对'swagger UI'做同样的事情,那么etag就会出现在下一个请求中+缓存也可以工作。
在浏览器中:
- 第一个请求:
-第二个请求:
我无法用 curl 检查所有这些,因为这是我收到的标题:
如果我向应用程序的根发出 curl 请求,则返回 ETAG:
curl -I --header "授权:d0294f288597e5979a5655a70ec63b88" http://...
欢迎任何解释......似乎葡萄正在去除卷曲的ETAG......(但这不可能发生......显然......)
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
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