问题标签 [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 - 使用葡萄 API 将数据插入 PostgreSQL 的多个表?
这是我的葡萄 API Ruby 代码,它将发布到它的 JSON 数据插入到单个表中:
如何使用葡萄 API 将数据插入到多个表中?我正在使用 PostgreSQL。
ruby-on-rails - Rails 3.2.11 & Grape 不能这样的文件:app/api/v1.rb
我试图在 Rails 3.2.11 应用程序中运行 Grape API。根据葡萄文档,我应该在我的 config/application.rb 中添加以下几行。
并使用以下代码创建 config/initializers/reload_api.rb:
但这对我不起作用。这是我的代码。在我的 app/api/v1.rb 中:
还有我的 config/routes.rb:
当我运行时rake routes
,出现以下错误:
很明显,Rails 无法加载我的 api。为什么?
ruby-on-rails-3 - 如何在葡萄 api 应用程序中拆分内容?
在我看到的每个示例中,人们只实现了一个巨大的 api.rb 文件。前任:
虽然这种方法可以正常工作,但它很快就会变得拥挤且难以维护,所以我想在我的应用程序上拆分内容。
例如,我想从我的资源中拆分我的实体,然后在不同的文件之间拆分我的资源。举些例子:
现在,api.rb将类似于:
app/api/entities/post.rb将类似于:
app/api/resources/post.rb将类似于:
当我们这样做时,我们会遇到以下消息:
预期 /blog-app/api/resources/post.rb 来定义 Post
解决方案(感谢 dB。和我的同事)
您必须将结构更改为:
然后,在post_api.rb
最后,api.rb变为:
现在/api/v1/posts
应该工作:)
ruby - {葡萄}授权
我正在尝试在 ruby 中创建一个宁静的 json api - 所以我在Rack 内使用葡萄( https://github.com/intridea/grape )。我没有在这个项目中使用 Rails,所以康康舞、魔法等等……似乎不是最好的选择。另外,我讨厌在葡萄的声明性 DSL 中混入一堆命令式逻辑。
虽然葡萄内置了身份验证支持,但我没有看到任何关于授权的信息。看起来这将是一个足够常见的用例,这条路以前会走过,但是在谷歌和葡萄代码库本身进行了一些相当彻底的挖掘之后,我什么也没发现。
有没有人为他们的葡萄项目实施过这样的事情?你用了什么?
http - 对于没有正文的 4xx 错误,Content-Type 应该是什么?
考虑一个获得以下响应的 HTTP 请求:
这样的内容类型应该是什么?
- 设置为无?
- 没有设置?
- 设置为
text/plain
或text/html
ruby-on-rails - 在 Grape 中使用 Rails ApplicationHelper
我在 application_helper.rb 中定义了一个方法:
我也在使用 Grape 创建 API。它在 Rails 应用程序之外的自己的模块中:
我很确定 Grape 是一个 Rack 应用程序,因此它无法正常访问 Rails 模块。当我尝试在其中一种 API 方法中调用“bayarea_cities”方法时,我收到未定义的变量或方法错误。我尝试将 ApplicationHelper 模块包含在“include ApplicationHelper”中,但这不起作用。
如何在 API 类中访问它?
更新:
感谢Deefour的更新。我添加extend self
到我的 Helpers 模块中,并将这些方法引用为实例/混合方法(而不是模块方法),但我仍然遇到同样的错误。在我的 lib/helpers.rb 文件中,我有:
在我的 API 文件中,我有:
当然,我有 config/initializers/helpers.rb 文件说require "helpers"
但是,当我调用美国各州 API 方法时,例如,通过转到http://localhost:5000/api/states
,我得到:
有任何想法吗?
ruby - Grape API 和 HTTP 摘要认证
我正在为我的 ruby 应用程序创建一个 API,它基于 HTTP Digest Authentication 对用户进行身份验证。我决定使用 Grape API 库,因为它可以在 ruby 中创建 API 清洁器。Grape 文档指出您可以使用摘要式身份验证,例如:
上面的葡萄实现是一个包装器Rack::Auth::Digest::MD5
现在,为了安全起见,我读到,从 RFC 2617 开始,您不需要将密码作为纯文本存储在数据库中,您可以存储用户名的 MD5 摘要:realm:password 并针对它进行身份验证,因此我创建了一个 DataMapper 模型:
现在有了我提供的东西,我不知道如何将这两者联系起来并使其工作。
ruby-on-rails - 在 Rails 中安装多个 Grape API 时遇到问题
我有两个 API 正在尝试安装在我的 Rails 应用程序中——一个名为“v1”,另一个名为“twilio”。每个 API 将由多个文件组成,所以我希望每个 API 都有自己的文件夹。在我的 app/api 目录中,我有 2 个文件夹——“v1”和“twilio”——以及一个名为“api.rb”的文件,我试图用它来挂载这两个 api。它的内容是:
在“v1”目录中,我有一个名为“root.rb”的文件,其开头如下:
在“twilio”目录中,我有一个名为“twilio_api.rb”的文件,其开头为:
我的路线文件有:
当我启动我的 Rails 服务器时,我收到了错误:
我不明白这一点,因为 root.rb 确实定义了 Root 类。任何帮助将非常感激。
ruby-on-rails - 如何允许使用 GRAPE API 下载二进制文件
我想允许使用 ruby 的 Grape API 下载二进制文件(.p12 文件)。这就是我正在尝试的。
使用 ActionController 的等效代码是
问题是使用 API 下载的文件似乎是一个文本文件,每个字符都嵌入了 '\ufffd' 前缀,而使用浏览器下载的文件似乎是二进制文件。如何使用 GRAPE API 框架来允许下载通过 ActionController 的 send_data 下载的相同文件