[英]Call API Endpoint with Elixir/Phoenix
我试用了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请求?
使用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)
您可能更容易让它工作并首先从凤凰城外部了解它。 正如Mike所指出的,HTTPoison是用于该任务的标准库。
要做到这一点,你需要......
mix deps.get
这是一个视频,它将带您完成将HTTPoison放入一个空项目 ,从iex
交互式shell进行API调用(并解码响应),然后从项目内部进行调用(如果您需要,可以将这个OTP应用程序放入您的Phoenix应用程序中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.