Elixir:
Enviando uma requisição HTTP
Como Fazer:
Para enviar requisições HTTP em Elixir, você pode usar a biblioteca HTTPoison. Primeiro, adicione ao seu mix.exs:
defp deps do
[
{:httpoison, "~> 1.8"}
]
endDepois, execute mix deps.get para baixar a biblioteca. Agora, você pode fazer uma requisição GET simples com:
HTTPoison.get("https://jsonplaceholder.typicode.com/posts/1")E o exemplo de resposta seria algo assim:
{:ok, %HTTPoison.Response{
status_code: 200,
body: "{...json body...}",
headers: [{...headers...}]
}}Aprofundando:
Historicamente, em Elixir, a biblioteca padrão para fazer requisições HTTP era a HTTPotion, mas com o tempo, a HTTPoison se tornou mais popular por sua simplicidade e uma API mais amigável. Utilizando o adapter hackney, HTTPoison fornece um conjunto de funções para fazer requisições de forma síncrona e assíncrona. Existem alternativas, como a Tesla, que é mais extensível com middleware customizável, ou a recém chagada Mint, que é uma biblioteca de baixo nível que oferece um controle mais granular sobre as conexões HTTP. Na implementação, ao enviar uma requisição, você geralmente lidará com respostas e erros, parseamento de JSON e tratamento de timeouts e retries.
Veja Também:
- Documentação oficial do HTTPoison: https://hexdocs.pm/httpoison/
- Repositório da biblioteca Tesla: https://github.com/teamon/tesla
- Documentação da biblioteca Mint: https://hexdocs.pm/mint/
- JSONPlaceholder para testar requisições: https://jsonplaceholder.typicode.com/