fetch()
는 원격 API를 간편하게 호출하는 함수입니다.
리소스를 요청(Request)하고 받아온 응답(Response)을 처리할 수 있습니다.
fetch()는 첫번째 인자로 URL, 두번째 인자로 옵션 객체를 받고, Promise타입의 객체를 반환합니다.
fetch("https://www.juso.go.kr/addrlink/addrLinkApiJsonp.do", {
method: "GET",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "jusoTest",
id: 152,
}),
}).then((response) => console.log(response));
두번째 인자의 옵션들을 살펴보겠습니다.
method
는 GET
이 디폴트이기 때문에 단순하게 데이터를 가져오려고 한다면 따로 작성할 필요는 없습니다.
method는 데이터를 가지고 오는 것 뿐만 아니라, 데이터의 추가를 요청POST
하거나 수정PUT
, 삭제DELETE
를 요청할 수도 있습니다.
headers
서버로 전송하는 요청에 대한 정보입니다.
Content-Type
은 서버로 전송되는 내용의 type이 무엇인지 지정하는 속성입니다.
body
는 요청에 대한 데이터입니다. 이 옵션에 명시하는 데이터는 항상 문자화해야 하는데, JSON.stringify()는 인수로 들어온 자바스크립트 데이터를 전부 문자화시킬 수 있는 기능입니다.