问题标签 [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 投票
2 回答
1060 浏览

ruby-on-rails - 如何将公共 API 添加到 Rails 应用程序?

我想向开发人员打开我的 Rails 2.3 应用程序(托管在 Heroku 上)。我想到了两种方法:

  1. 使用 respond_to |格式| 应用程序,以及只允许授权开发人员 API 密钥的 before_filter
  2. 使用专用于 API 的第二个 Heroku 帐户,共享原始应用程序的数据库。现在,什么会更好:Rails、Sinatra 或Grape

我知道这是一个模糊的问题。你有什么好的文章或架构模式可以帮助我吗?

谢谢,

凯文

0 投票
6 回答
7074 浏览

ruby-on-rails - 在 Grape / Rack::Mount::Route 中访问已编译的路由

我正在尝试生成由我的 Grape::API (MyApi) 子类生成的所有路由的列表。

我可以通过调用接近:

这给了我一组 Rack::Mount::Route 对象。

Route 对象唯一有用的属性是 :conditions ,它返回一个像这样的哈希:

如您所见,哈希值是匹配路由路径的正则表达式。我还可以使用 :named_captures 从正则表达式中获取所有命名的捕获:

最终,我要做的是生成通过 Grape::API 创建的所有路由的列表,它们的完整路径等。尝试解构条件中的正则表达式对我来说没有意义。是否有另一种方法可以访问/生成 Rack::Mount::Route 的人类可读路径?

0 投票
1 回答
678 浏览

ruby-on-rails - 了解如何对从 Android 到 Rails 应用程序的用户进行身份验证

我有一个 Rails 应用程序,我使用 Devise 对应用程序的用户进行身份验证。

问题是我正在构建一个 Android 应用程序,我想了解在 android 上“简单的方法”对用户进行身份验证的流程如何。我阅读了有关基本和摘要身份验证的信息。

或者我使用 Grape https://github.com/intridea/grape的 api ,它具有用于身份验证的 Basic 和 Digest 中间件。

我只是想知道我应该在 android 应用程序上存储用户的电子邮件/密码吗?

并且对 api 的每个请求都应附上用户的电子邮件/密码?

另外,认证响应中的 auth 标头有什么好处?

0 投票
1 回答
552 浏览

rspec - 如何在 Rails 2.3 中向葡萄 api 添加规范测试?

全部

我想将 rspec 测试添加到葡萄 API。我们的应用程序仍在 rails 2.3.8 上。

对于 rspec 2+ ,我们有这个解决方案。

但是有解决方案rspec 1.3吗?由于 rspec 2+ 不能在 rails 2.3 上工作。但至少是rails3。

我挖掘了代码,找不到可以提供帮助的示例。有人帮忙吗?谢谢。

0 投票
2 回答
229 浏览

ruby - Rails3 api 使用葡萄根据其参数检索项目

我在 Rails 3 工作

我有一个疑问,我有一种方法可以根据标签获取项目

喜欢

以上一个有效,现在我想更改网址

“apipath/blogs?tag=tag1” 而不是我之前所做的“apipath/blogs/tag/tag1”

所以我修改了这条线

但这不起作用...请提出建议。

0 投票
1 回答
1212 浏览

ruby-on-rails - 使用 Grape、Rails 3 和 Heroku 的 XML 代替 JSON

我在 Rails 3 中使用 Grape (https://github.com/intridea/grape),我遇到了一个奇怪的问题。

我在我的 API 类中将 json 定义为默认输出格式,并且我使用 as_json 方法来输出我的结果。

在我的 /lib/MyAPI.rb 中:

在开发模式下,json 被正确渲染,但是在 heroku 上,xml 被渲染而不是 json。

有人知道为什么吗?

提前非常感谢。

0 投票
3 回答
1352 浏览

ruby-on-rails - 为什么我在使用 Ruby Grape 进行 POST 时会收到 HTTP 405

我的代码非常简单:

我会做一个

但我最终得到了不允许的 HTTP 405。请注意,如果我将“帖子”更改为:

它会工作得很好。所以我知道我的东西是正确的我只是不知道为什么我在 POST 上得到那个 HTTP 405。

我还想知道这个 Grape 示例应用程序是否向您展示了如何进行 POST:

https://github.com/dblock/grape-on-rack/

但我无法遵循它。

0 投票
2 回答
1783 浏览

ruby-on-rails - 带有葡萄问题的 Rails 3

我一直在关注这个帖子

http://martinciu.com/2011/01/mounting-grape-api-inside-rails-application.html

我将模块放入 lib 目录并将该行添加到routes.rb中,如图所示

当我做

我得到一个错误,说

少了什么东西?我需要将模块放在其他地方吗?或者让rails知道它在哪里?

0 投票
1 回答
170 浏览

ruby - 使用 goliath 和 rack::jsonp 时标头内容长度小于实际长度

这是 jsonp goliath 中间件的代码:

https://github.com/postrank-labs/goliath/blob/master/lib/goliath/rack/jsonp.rb

一切都很好,除了标题包含的内容长度小于实际长度。

我不确定为什么在哪里或为什么它设置的内容长度小于实际可能是因为:

“#{env.params['callback']}(#{response})” 未考虑包含在返回正文中的额外回调方法名称。

我能想到的解决方案是在调用此方法 post_process 之前修改标题,以便标题内容长度正确。

我不确定在哪里做。

0 投票
2 回答
3688 浏览

ruby - 有没有办法在葡萄上修改或发送自定义标题?

我正在使用歌利亚和葡萄。在我的 goliath 服务器上,它像这样调用葡萄 api:

在我的葡萄 api 类上,我的方法很简单:

我想修改标题 - 特别是“内容长度”,但不确定如何修改。

另外我想问一个额外的问题。如何在方法 GET 返回我想修改结果的结果之前专门创建回调/过滤器。