【问题标题】:Make HTTP request with Elixir and Phoenix使用 Elixir 和 Phoenix 发出 HTTP 请求
【发布时间】:2017-10-08 16:52:09
【问题描述】:

我是一名 Ruby 开发人员,正在尝试进入 elixir。我正在尝试与 API 交互以学习一点 Elixir。我基本上是在尝试发出 http 请求。在 ruby​​ 中,我尝试做的事情看起来像这样。

require 'httparty'


url = "https://api.sportradar.us/nba/trial/v4/en/games/2016/11/05/schedule.json?api_key={api_key}"
response = HTTParty.get(url)
req = response.parsed_response

非常简单明了。现在我有一个可以使用的 json 解码响应。如何使用 Elixir 和 Phoenix 做到这一点?

【问题讨论】:

标签: json http elixir phoenix-framework


【解决方案1】:

使用httpoison(HTTP 客户端)和poison(JSON 编码器/解码器)包,这几乎和使用HTTParty 的代码一样简单:

url = "https://api.sportradar.us/nba/trial/v4/en/games/2016/11/05/schedule.json?api_key=#{api_key}"

response = HTTPoison.get!(url)
req = Poison.decode!(response.body)

【讨论】:

    【解决方案2】:

    您不仅可以像 @Dogbert's example 中所示的那样简单地编写代码,而且还可以通过模式匹配做一些很酷的事情(并且尽可能精细)

    同时使用 HTTPoison 和 Poison:

    url = "https://api.sportradar.us/nba/trial/v4/en/games/2016/11/05/schedule.json?api_key={api_key}"
    
    case HTTPoison.get(url) do
      {:ok, %{status_code: 200, body: body}} ->
        Poison.decode!(body)
    
      {:ok, %{status_code: 404}} ->
        # do something with a 404
    
      {:error, %{reason: reason}} ->
        # do something with an error
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多