Tag: rest

neo4j的哪个Ruby REST API客户端?

我想知道什么REST API客户端可以从Ruby使用(而不是JRuby,所以本机绑定不是一个选项)? 理想情况下,我希望API类似于neo4j gem或ActiveRecord (validation,迁移,观察者等)。 目前可用的(REST)工具甚至没有接近我们所拥有的工具,例如,在ActiveRecrod中: neograhy – 只是简单的REST API。 与模特等无关 neology – 只是一个neography包装器,并不是一个function齐全的ActiveModel。 architect4r – 符合ActiveModel ,但只提供一种查询数据的方法( Cypher语言),也没有索引支持。 我更喜欢architect4r的代码(主要是因为它使用ActiveModel)。 但是neology似乎是更实用的选择,因为它已经在使用neography 。 选择非常小而且艰难。 你能告诉我何时应该使用一个而不是另一个? 此外,任何有助于我决定gem的建议都是非常受欢迎的。 谢谢。

使用authlogic_api进行Rails REST API访问

我正在为只能通过REST调用访问的Steam游戏编写Rails后端API,因此不需要特定于用户的身份validation。 我正在尝试为Authlogic gem实现authlogic_api插件 ,该插件使用api_key / signature机制来限制访问。 我已经实现了rdocs中概述的ApplicationSession和ApplicationAccount模型,但我不确定如何修改我的ApplicationController以限制访问。 查看源代码,authlogic_api插件似乎修改了Authlogic中的ActsAsAuthentic和Session模块。 但由于这实际上是“单一访问”身份validation,要求在每次请求时传递API密钥和签名,我不会看到会话如何成为一个因素。 有没有人在他们的应用程序中成功实现了authlogic_api? 如果是这样,您会分享设置ApplicationController的方法吗?

使用ActiveResource在Rails中使用非REST API

我正在编写一个使用非REST API的客户端(即GET site.com/gettreasurehunts),这要求我将请求的HTTP主体中的所有参数(甚至资源ID)指定为自定义XML文档。 我想使用Rails和ActiveResource,但我不得不重写几乎所有的ActiveResource方法。 是否有另一种更精致的方法来实现相同的结果,甚至使用另一个(Ruby)框架?

从Sinatra发送DELETE请求

我正在尝试开发RESTful Sinatra应用程序。 现在,我知道如何用类似的方式响应删除请求 delete ‘/user/:id’ do |id| #do something in the model end 我感兴趣的是如何执行该方法。 我不能拥有DELETE而不是GET的链接,可以吗? 到目前为止我找到的唯一解决方案是通过jQuery发送DELETE请求: 如何在jQuery中发送PUT / DELETE请求? 我尝试在github上查看不同的RESTful Sinatra项目,但我的Ruby知识可能仅限于了解它们是如何做到的。

如何为Ruby应用程序创建REST API?

我想知道如何使用REST API提供Ruby应用程序。 我可以基于Ruby的TCPServer API编写代码,但这看起来有点低级。 你认为这是一个很好的解决方案吗? 或者你建议采用更好的方法吗?

在Ruby中设置请求标头

我有其余的客户端gem,我正在定义这样的请求: url = ‘http://someurl’ request = {“data” => data}.to_json response = RestClient.post(url,request,:content_type => :json, :accept => :json) 但是我需要将HTTP标头设置为某种东西。 例如API密钥。 这可以在curl中完成: curl -XHEAD -H x-auth-user: myusername -H x-auth-key: mykey “url” 什么是在ruby中做到这一点的最好方法? 用这个gem? 或者我可以手动执行以获得更多控制权。

在Ruby on Rails中的路由在Routes.rb中的“/ #action”路由

如何创建此格式的路由(在Ruby on Rails routes.rb文件中): /#action/id 特别是在动作控制器之前插入了“#”字符…例如,请参阅http://lala.com/#album/some-album-id 谢谢!

自定义RESTful资源的url_for(复合键;不仅仅是id)

给定以下资源定义: map.resources :posts, :except => [:show] map.post ‘/:year/:month/:slug, :controller => :posts, :action => :show 我可以使用以下语法让url_for为我工作: ‘2010’, :month => ’02’, :slug => ‘test’) %> 但有没有办法使这项工作? 目前它抛出此错误: No route matches {:year=>#, :controller=>”posts”, :action=>”show”} 显然它将@post对象传递给第一个路由参数(看起来像是一个Rails bug …)。 但我可以帮我这个吗? 我要补充说,使用default_url_options搞乱是一个死胡同。 仅在Rails 3.x中工作的解决方案是可以的,但我不想使用任何插件。

使用CarrierWave上传RESTful文件

我正在尝试为文件上传构建API后端。 我希望能够使用具有Base64编码的文件字符串的POST请求上传文件。 服务器应解码字符串,并使用CarrierWave保存文件。 这是我到目前为止所拥有的: photo.rb: class Photo include Mongoid::Document include Mongoid::Timestamps mount_uploader :image_file, ImageUploader end image_uploader.rb: class ImageUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end end Rails控制台:(摘要) ruby-1.8.7-p334 :001 > img = File.open(“../image.png”) {|i| i.read} => “\377 JFIF\000\001\002\001\000H\000H\000\000\377 Photoshop 3.0\0008BIM\003… ruby-1.8.7-p334 :003 > encoded_img = Base64.encode64 img => 3af8A\nmLpplt5U8q+a7G2… ruby-1.8.7-p334 :005 > p = […]

Ruby on Rails – 在REST API中区分复数与单数资源

在开始编写任何代码之前,我正在为REST API构建URL。 Rails REST魔术太棒了,但我对URL的格式有点困扰,例如: http://myproject/projects/5 Project是我的资源,5是project_id。 我想如果用户想要检索他们的所有项目,那么相应的HTTP GET http://myproject/projects是有意义的。 但是,如果他们想要检索单个资源(例如项目)上的信息,那么使用http://myproject/project/5 vs http://myproject/projects/5是有意义的。 是否最好避免这种头痛,或者你们中的一些人有同样的担忧甚至更好 – 有一个有效的解决方案吗?