簡體   English   中英

使用HTTParty gem創建端點(Rails5)

[英]Using HTTParty gem to make an endpoint (Rails5)

我對如何處理這個問題有些困惑。 本質上,我想了解有關Angular on Rails的更多信息,所以我在API模式下使用Rails-但是,目前,我正在嘗試將API構建到我啟動的Rails的非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}"

使用完整版時,我得到了指向@baseUrl的bad argument (expected URI object or URI string) ,所以我覺得我沒有正確包含它。 我正在努力,但是即使它能正常工作,我也不確定如何制作它,所以它只是將它作為純JSON扔到UI中? 我使用JSON Builders等其他很多元素來完成此操作,但這就是DB Data。 這只是一個API調用。

我可以簽出的見解/文檔?

編輯:我相信我有關使用@steamKey問題與@steamKey相關 @甚至被傳遞給get_player_summaries

正如我在編輯中提到的那樣,我能夠找到該文章來解釋如何正確使用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的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM