我在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
答案 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)
答案 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)