Elm:
HTTP 요청 보내기
How to: (어떻게 하나요?)
import Http
import Json.Decode exposing (Decoder, string)
type Msg
= GotData (Result Http.Error String)
-- define your decoder
decoder : Decoder String
decoder =
string
-- create an HTTP request
getRequest : Cmd Msg
getRequest =
Http.get
{ url = "http://example.com/data"
, expect = Http.expectJson GotData decoder
}
-- sample output for a successful request
GotData (Ok "Your string data here")
-- sample output for a failed request
GotData (Err Http.BadStatus { status = 404, body = "Not Found" })
Deep Dive (심층 붐빔)
엘름에서 HTTP 요청은 비동기적으로 처리됩니다. Http 모듈은 웹 요청을 만들고 결과를 다루기 위한 함수와 타입들을 제공합니다. 과거에는 XMLHTTPRequest를 사용했지만 현재는 Fetch API가 널리 사용됩니다. 엘름에서는 Http.get
과 Http.post
와 같은 함수를 사용해 요청을 쉽게 보낼 수 있습니다. 요청의 결과는 Msg
타입을 통해 애플리케이션에 전달됩니다.
See Also (함께 보기)
- 엘름 공식 문서의 HTTP 가이드: Elm HTTP guide
- JSON 디코딩에 대한 자세한 정보: JSON Decode documentation