Tag: api

允许使用OmniAuth访问Rails Web应用程序的Curl API

我正在构建一个Rails Web应用程序。 我使用OmniAuth进行身份validation。 我想提供API访问权限,但只有在用户使用OAuth(主要通过Twitter)validation自己之后。 有什么建议从哪里开始? 编辑:根据要求添加更多上下文 不要试图成为Oauth提供者,而只是使用相同的登录令牌。 例如,您通过Twitter登录我的应用程序。 您同时拥有令牌和秘密OAuth令牌。 我想使用这些令牌来允许用户API访问该站点。 我有一个类似的问题: 从Faraday OAuth模块(从客户端)检索OAuth令牌(在服务器上)

Rails使用camelCase呈现json对象

我在一个简单的Rails API中有以下控制器代码: class Api::V1::AccountsController e head :not_found end end end 这个问题是,生成的json具有以下格式: { id:2, name: ‘Simple account’, cash_flows: [ { id: 1, amount: 34.3, description: ‘simple description’ }, { id: 2, amount: 1.12, description: ‘other description’ } ] } 我需要我生成的json是camelCase (’cashFlows’而不是’cash_flows’) 提前致谢!!!

测试rails葡萄API与curl,params数组

我使用curl手动测试我的rails应用程序葡萄API。 我想发送一个[1,2,3]数组作为请求查询参数,以便可访问,如: p params[:tickets_ids] => [1,2,3] 我只发现了如何发送被解释为哈希的东西的线索。 我将非常感谢如何使用curl发布数组。

使用curl测试Rails路由

我有一个名为用户的模型,我想使用API​​进行更新。 我认为这样做的方法是创建更新路由并插入执行更新的代码。 我使用RSpec创建了一个测试,它似乎工作,但是,我想实际看到我的数据库中更改的数据,所以我试图使用curl来更新我的开发数据库。 我试过这个命令 curl -X PUT -d “attribute1 = value1, attribute2 = value2” http://localhost:3000/users/1 但是我收到了一个错误 Action Controller: Exception caught . . . NoMethodError in UsersController#update You have a nil object when you didn’t expect it! You might have expected an instance of ActiveRecord::Base. The error occurred while evaluating nil.[] . . . Heres是routes.rb中的相关行 resources […]

使用Rspec和Rack :: Test测试REST-API响应

我有点难过。 我有以下集成测试: require “spec_helper” describe “/foods”, :type => :api do include Rack::Test::Methods let(:current_user) { create_user! } let(:host) { “http://www.example.com” } before do login(current_user) @food = FactoryGirl.create_list(:food, 10, :user => current_user) end context “viewing all foods owned by user” do it “as JSON” do get “/foods”, :format => :json foods_json = current_user.foods.to_json last_response.body.should eql(foods_json) last_response.status.should eql(200) […]

将ActiveRecordvalidation错误转换为API耗材错误

我正在Rails 4中编写一个非常标准的CRUD RESTful API。虽然我在error handling方面做得不够。 想象一下,我有以下型号: class Book < ActiveRecord::Base validates :title, presence: true end 如果我尝试创建没有标题的图书对象,我将收到以下错误: { “title”: [ “can’t be blank” ] } ActiveRecordvalidation旨在与Forms一起使用。 理想情况下,我希望将每个人类可读validation错误与API使用者可以使用的常量相匹配。 所以类似于: { “title”: [ “can’t be blank” ], “error_code”: “TITLE_ERROR” } 这可以用于显示面向用户的错误( “标题不能为空” ),也可以在其他代码中使用( if response.error_code === TITLE_ERROR …)。 在Rails中是否有任何工具? 编辑:这是Rails 2天非常相似的问题 。

在RSTP中接收PUT的错误,但不是POST

在我的规格中,当我在下面运行POST请求时,一切正常。 before do request_payload = { player: { first_name: “Joe”, last_name: “Carradine”, team_id: “1” } } post :create, request_payload end 但是当我为PUT运行规范时: before do request_payload = { player: { first_name: “Buck”, last_name: “Carradine”, team_id: “1” } } put :update, id: 3, request_payload end 我收到这样的错误: [filename]_spec.rb:139: syntax error, unexpected ‘\n’, expecting tASSOC (SyntaxError) [filename]_spec.rb:198: syntax error, unexpected […]

如何在API和Rails应用程序之间创建全双工通信?

我有一个video转码API和一个消耗它的CMS应用程序。 工作流程如下: CMS向API发送GET请求以获取要转码的列表video文件,并以JSON格式获得答案。 CMS用户选择要转码的文件并单击“转码”按钮。 当用户单击该链接时, POST请求将转到API,API会在内部创建必要的Progress es,并以JSON格式响应初始状态。 在API上创建Progress es后,我向API发出GET ajax请求,定期询问当前进程状态。 因为我需要向用户显示转码过程的当前状态(如百分比……)。 另外,我还有一些其他资源可以通知CMS有关当前状态的信息。 这时,我在5秒钟内对API进行一次ajax调用。 这是一个问题: 这是最好的方法吗? 有没有办法在API和Rails应用程序之间创建全双工通信? 我尝试过pusher和推送通知但看起来它们只是用于前端通信? 这是真的? 我听说过websocket但我找不到一个好的资源来完全理解它。 Rails社区获得批准的方式是什么? 谢谢

Webservice / API抓住另一个网站的截图? (已知解决方案太慢)

从这个问题: – https://stackoverflow.com/questions/1342611/is-there-a-webservice-api-to-grab-a-screenshot-of-another-website 和其他一些问题/谷歌我得到了一些结果,如: – http://www.bitpixels.com/ (限制: – 仅限缩略图,最大尺寸为200 * 200像素) http://www.thumbalizr.com/ (限制: – 没有CSS格式。) http://www.webshotspro.com/ (限制: – 太慢,甚至专业帐户太慢。) 你能告诉我一些非常快速和强大的东西吗? 我愿意付钱。 不是谷歌为它提供任何API? 因为他们在结果中显示截图。 编辑 : – 我还需要一些捕获完整主页的东西。 不只是一个屏幕。

Rabl,Jbuilder还是用于api的手动json构建?

要为大规模应用程序构建api,哪种方法是更好的性能,我应该使用Rabl,Jbuilder还是手动构建json对象?我正在为移动应用程序构建api /端点。