Enviando uma requisição HTTP

Elm:
Enviando uma requisição HTTP

Como Fazer:

import Http
import Json.Decode exposing (string)

type Msg = Success String | Failure Http.Error

request : Http.Request String
request =
    Http.get
        { url = "https://api.example.com/data"
        , expect = Http.expectString Success Failure
        }

init : () -> ( Model, Cmd Msg )
init _ =
    ( initialModel, Http.send Failure request )

Esse código envia uma requisição HTTP GET e espera uma resposta em forma de texto. Quando a resposta chega, dependendo se foi sucesso ou falha, ela dispara uma mensagem Success ou Failure.

Mergulho Profundo

Primeiro, uma rápida volta no tempo: as requisições HTTP são um pilar da web desde o começo dos anos 90. Elm, como uma linguagem voltada para a web, tem que lidar bem com isso.

Enviar requisições HTTP em Elm é interessante porque fazemos isso de forma declarativa. Você descreve a requisição e como lidar com a resposta, e o Elm cuida do resto.

Sobre alternativas: antes de Elm, JavaScript era a go-to language para web. Você ainda pode usar JavaScript para requisições HTTP, mas Elm promete menos bugs e mais facilidade de manutenção.

Detalhes de implementação: Elm usa o Http module para lidar com requisições. Usamos Http.get para buscar dados, mas existem outros métodos como Http.post para enviar dados. Decoders, como Json.Decode.string, são usados para interpretar as respostas.

Veja Também