Ruby on Rails api和客户端应用程序。如何获取数据?

时间:2016-02-23 18:18:45

标签: ruby-on-rails ruby json api

我在rails api应用程序上有一个ruby,它返回json格式的数据。我还有一个需要获取该数据的rails客户端应用程序上的ruby。我怎么得到它,所以我可以在客户端应用程序中的视图上显示它?

我可以在浏览器中访问api app数据。但我很难让客户端应用程序能够获取该json数据。例如:api控制器是academic_titles_controllers,方法是active_academic_titles,现在这个方法呈现一个json视图。我无法从客户端应用程序访问此视图。但是,如果方法是索引,我可以这样做。

在客户端应用程序中,AcademicTitle模型继承自名为UapApi的类

class UapApi < ActiveResource::Base
  MODE = 'dev' # api or dev

  self.site = 'http://localhost:3003/'
  self.format = :json
end

2 个答案:

答案 0 :(得分:0)

使用open-uri

url = "http://..."
data = JSON.parse(open(url).read)

或使用'net'

require "net/http"

url = "http://..."
resp = Net::HTTP.get_response(URI.parse(url))
data = JSON.parse(resp.body)

source

答案 1 :(得分:0)

就个人而言,我喜欢Faraday gem:

conn = Faraday.new
response = conn.get do |req|
  req.url("localhost:3000/active_academic_titles")
  req.params['academic_unit_id'] = 9
end
data = JSON.parse(response.body)