Elixir:
Een HTTP-verzoek verzenden
Hoe:
Gebruik de HTTPoison
bibliotheek van Elixir. Het is netjes, eenvoudig en klaart de klus.
- Voeg HTTPoison toe aan je
mix.exs
van je project:
defp deps do
[
{:httpoison, "~> 1.8"}
]
end
Voer
mix deps.get
uit in je terminal om de afhankelijkheid op te halen.Nu ben je klaar om een GET-verzoek te verzenden:
case HTTPoison.get("https://jsonplaceholder.typicode.com/posts/1") do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
IO.inspect(body) # je hebt je data!
{:error, %HTTPoison.Error{reason: reason}} ->
IO.inspect(reason) # fout afhandelen
end
Voorbeeldoutput: een JSON-string van postgegevens van de placeholder-API.
Diepgaand
Historisch gezien zou je :httpc
gebruiken dat wordt geleverd met Erlang/OTP of Elixir’s HTTPotion
. HTTPoison is nu populairder, met een schonere syntax en gebouwd op Hackney, een robuuste HTTP-client voor Erlang.
Alternatieven voor HTTPoison zijn onder andere Tesla – een flexibele HTTP-client met ondersteuning voor middleware, en Mint – een glanzende, laagniveau HTTP-client.
Wat implementatie betreft, handelen deze bibliotheken zaken af als connection pooling, SSL en keep-alive, lastige zaken die essentieel zijn voor efficiënte HTTP-verzoeken. Ze gedragen zich als vriendelijke bibliothecarissen die zich bezighouden met het lastige werk, zodat je niet zelf door de stapels hoeft te kruipen.
Zie Ook
- HTTPoison GitHub – voor alle details en updates.
- HexDocs voor HTTPoison – de plek voor uitgebreide documentatie.
- Elixir Forum – om te chatten met de gemeenschap.