我对如何处理这个问题感到有些困惑。基本上我是在尝试更多地了解Angular on Rails,所以我在API模式下使用Rails - 但是,目前,我正在尝试在非API版本的Rails I中构建API启动(不太相关,但我很好奇如何让它为两者工作)。
非常基本的测试,我喜欢他的
/steam/:id
端点(在此示例中)并获取返回值
GetPlayedSummaries
。已安装HTTParty,并在终端中工作。
class SteamController < ApplicationController
@steamKey = "{REDACTED}"
@baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='+@steamKey+'&steamids='+@steamId+'"
def get_player_summaries
@steamId = params[:id]
puts @baseUrl
@games = HTTParty.get(@baseUrl).to_json
puts response.body, response.code, response.message, response.headers.inspect
end
end
这是我非常基本的控制器。实际上我没有理由将steamKey分开,但它有助于鼓励我需要帮助的地方。
最初我有@baseUrl
@baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=#{@steamKey}+'&steamids=#{@steamId}"
对于完整版本,我得到bad argument (expected URI object or URI string)
指向@baseUrl所以我觉得我没有正确地包含它。我正在努力,但即使它工作,我不太确定如何制作它所以它只是作为纯JSON将它扔进UI?我已经使用JSON Builders等很多其他元素完成了这个,但是那个数据库数据。这只是一个API调用。
洞察/文件我可以查看吗?
编辑:我认为我使用@steamKey
与This SO Article. @
相关的问题甚至被传递到get_player_summaries
答案 0 :(得分:0)
正如我在编辑中所提到的,我能够找到解释如何正确使用URL的文章。
我的工作代码是:
class SteamController < ApplicationController
def initialize
@steamKey = "{REDACTED}"
@baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key="+@steamKey+"&steamids="
end
def get_player_summaries
@playerUrl = @baseUrl + params[:id]
@games = HTTParty.get(@playerUrl).to_json
puts response.body, response.code, response.message, response.headers.inspect
render json: @games
end
end
响应速度有点慢,但可能是C9的问题。