我对sportradar API进行了试用。我真的不关心运动,但我正在努力学习凤凰和Elixir。我正在尝试做一些超级基本的东西,但似乎无法实现。基本上,我正在尝试使用给定的参数建立一个URL并调用API端点。获取响应并使用返回的内容填充视图。这就是我遇到的问题。
def index(conn, _params) do
render(conn, "index.html")
end
def find_games(conn, params) do
response = params["find_games"]["calender"]
end
我现在基本上试着说https://api.sportradar.us/nba/trial/v4/en/games/response["day]/response["month"]/response["year"]/schedule.json?api_key={api_key}
如何使用Elixir和Phoenix发出http请求?
答案 0 :(得分:2)
使用HTTPoison.get的示例:
%{
"day" => day,
"month" => month,
"year" => year
} = response
url = "https://api.sportradar.us/nba/trial/v4/en/games/#{day}/#{month}/#{year}/schedule.json"
headers = []
params = [api_key: api_key]
{:ok, response} <- HTTPoison.get(url, headers, params: params)
Poison.decode(response.body)
答案 1 :(得分:1)
您可能更容易让它在凤凰城以外的地方工作和理解它。正如Mike指出的那样,HTTPoison是用于该任务的标准库。
要做到这一点,你需要......
mix deps.get
此处有一段视频,它会引导您完成putting HTTPoison into an empty project,从iex
交互式shell进行API调用(并解码响应),然后从项目内部(这是一个OTP应用程序)如果你愿意,可以投入你的凤凰应用程序。)