问题标签 [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.
sinatra - open-uri 可以跨机架应用程序使用吗?
目前我有一个 Sinatra 网络应用程序和一个 Grape API,其想法是实现 Sinatra 应用程序,使网络应用程序只是另一个 API 使用者。
在我的 config.ru 我有这个:
API
是 Grape 应用程序,Application
也是 Sinatra 应用程序。我正在使用 open-uri 尝试从 Sinatra 路由中的 Grape api 获取 JSON。我用的是薄的。为了便于阅读,我在端口号后面省略了 /uri,Grape 和 Sinatra 应用程序独立运行,稍后我将进一步解释
open("http://localhost")
返回:
但是,如果我open("http://localhost:9292")
的应用程序挂起。我觉得可能有什么东西阻塞了 I/O,比如它可能在等待自己连接到自己,但我不确定引擎盖下发生了什么,无法真正确定。
如果我将 pow 指向它,将其旋转起来,project.dev
然后用它旋转起来,rackup
这样我就有两个可以使用的实例open("http://project.dev/what/ever/url/i_need")
,它就像一个魅力。所以问题似乎出在将open-uri指向自身的某个地方......我认为......
这是因为Rack::Cascade
? 这是一个问题thin
吗?或者也许 with open-uri
?这只是解决这个问题的完全错误的方法吗?
我对几乎任何解决方案都持开放态度,但我更愿意让它尽可能简单,因为我打算经常使用这种模式,所以外部需求最少。
如果需要任何其他信息,请告诉我,我会尽力提供。
ruby-on-rails - Rails 4和葡萄 - 拆分API文件时未定义的方法“调用”
我有一个 vanilla rails 4 应用程序,我正在尝试添加一个版本化的 Grape API。rails 服务器启动正常,但是当我尝试访问 API URL ( http://localhost:3000/v1/user/ping
) 时,出现错误:
到目前为止,我设置的 API 非常简单,但我不知道为什么它不起作用
根/app/api/api.rb:
在版本文件夹中,我希望拥有该 API 版本支持的所有类:root/app/api/v1/user.rb:
根/配置/路由:
ruby-on-rails - rails - 版本化 api 的葡萄 api 错误调用类
我正在尝试为版本化 api(rails-grape) 调用版本特定的类并得到错误
我的目录结构
api.rb 需要'v1/base.rb' 需要'v2/base.rb'
在 v1/base.rb 我访问这个版本的 api 的类
V1::XMLResponses::电话簿::getall()
拜托,你能告诉我为什么会出现这个错误吗?
感谢您的回答,我创建了简单的应用程序来演示它是如何完成的https://github.com/Asmmund/grape_versioning
ruby-on-rails - 在 Rails 中使用葡萄 API 生成 HTML
我有一个要求,我需要从我的一个 API 生成/吐出 HTML 标记。我正在使用葡萄 API,但找不到丢弃 HTML 标记的方法。我可以将 content-type 指定为 text/html 并创建一个 HTML 标记,但是有没有更好的方法来实现这一点,比如呈现类似于下面的模板:
'my_template' (HTML) 可以处理页面的外观吗?render 是 GrapeAPI 中未定义的方法,所以不确定我可以使用哪些其他东西?
ruby-on-rails - 如何在grape-api rails应用程序上获取远程IP(请求者)
我有一个可用的 rails 应用程序,其中有 grape-gem 作为应用程序中某些 API 的端点。我需要获取请求者的远程 ip 并将其返回到响应中。我可以在常规控制器上使用
但是,在葡萄调用中,“请求”不是定义的变量。
我怎样才能访问葡萄上的远程IP?
carrierwave - 载波 + 葡萄从 hashie mash 上传图像
我有一个带有文件名、头、名称、内容类型、类型等的 hashie mash。
尝试将其提供给carrierwave时出现以下错误。
但是,当我只提供临时文件时,它不会通过扩展白名单。我怎样才能使这项工作?
ruby - 使用 Grape API 生成 JavaScript?
我正在使用 Grape 框架来检索数据,效果很好。我还想使用 API 检索 JavaScript 文件。例如:
http://someapi.com/dni_js/dni.js正在调用 API。
实现这一目标的最佳方法是什么?
ruby-on-rails - Rails Grape api 版本控制模块结构
我正在尝试实现 api 版本控制,与我在这里所做的几乎相同。但我似乎没有在 rails 应用程序中获得正确的模块/文件夹结构,因为我收到了诸如V1 is not a module /app/api/v1/xml_responses/device.rb:3:in '<module:API>'
目录结构之类的错误消息
api.rb
v1/base.rb
V1/xml_responses/device.rb
路由.rb
我无法弄清楚我做错了什么!请你帮助我好吗?
ruby-on-rails-3.2 - 如何用葡萄实体呈现一个命名空间模型?
我有一个这样的命名空间模型:
我这样定义一个实体:
显示模型时出现错误:
错误:
app/models/message/notification.rb:1:in `':类通知的超类不匹配(TypeError)
ruby-on-rails - 是否可以过滤对 Grape API 的请求的参数?
如果我在 Grape API 请求上设置参数验证,是否可以获得仅验证参数的哈希?
有没有另一种方法可以params
限制在参数验证块中列出的那些?有点像 Rails strong_parameters 的工作方式。