2016-07-09 5 views
1

Ich möchte eine Funktion erstellen, die eine Anfrage an den Server stellt und decodierten Wert zurückgibt. Ich habe benutzerdefinierte Header innerhalb meiner Anfrage, so muss ich Http.send Funktion verwenden.Wie HTTP-Anfrage und Dekodierung Antwort auf konkrete Art in Elm 0.17 machen?

Bisher war ich in der Lage Aufgabe

getCurrentUser userId authToken err ok = 
    let 
    request = 
     Http.send defaultSettings 
     { verb = "GET" 
     , headers = [("X-Auth", authToken)] 
     , url = "http://os.apiary.com" 
     , body = empty 
     } 

    in 
    Task.perform err ok request 

type alias User = { name : String, age : Maybe Int } 
userDecoder = object2 User ("name" := string) (maybe ("age" := int)) 

zu schaffen, aber ich weiß nicht, wo Decodierlogik zu setzen.

Antwort

3

Ich glaube, Sie suchen fromJson:

getCurrentUser userId authToken err ok = 
    let 
    request = 
     Http.send defaultSettings 
     { verb = "GET" 
     , headers = [("X-Auth", authToken)] 
     , url = "http://os.apiary.com" 
     , body = empty 
     } 

    in 
    Http.fromJson userDecoder request 
     |> Task.perform err ok 
+0

Awesome! Das ist genau das, wonach ich gesucht habe. –