상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Node.js에서 외부 API를 호출하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Node.js에서 외부 API를 호출하는 방법은 여러 가지가 있으며, 주로 HTTP 요청을 통해 이루어집니다. Node.js는 비동기 I/O 모델을 기반으로 하여 높은 성능을 제공하므로, 외부 API와의 통신에 적합합니다. 여기서는 Node.js에서 외부 API를 호출하는 방법을 다양한 라이브러리와 함께 설명하겠습니다. 1. 기본 HTTP 모듈 사용하기 Node.js는 기본적으로 `http`와 `https` 모듈을 제공합니다. 이 모듈을 사용하여 외부 API에 요청을 보낼 수 있습니다. ```javascript <a href='https://sangseek.com/sangseeks/const/ko'>const</a> https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET', headers: { 'Content-Type': 'application/json', }, }; const req = https.request(options, (res) => { let data = ''; // 데이터 수신 res.on('data', (chunk) => { data += chunk; }); // 응답 완료 res.on('end', () => { console.log(JSON.parse(data)); }); }); // 오류 처리 req.on('error', (e) => { console.error(`문제가 발생했습니다: ${e.message}`); }); // 요청 전송 req.end(); ``` 2. <a href='https://sangseek.com/sangseeks/Axios/ko'>Axios</a> 라이브러리 사용하기 Axios는 <a href='https://sangseek.com/sangseeks/Promise 기반/ko'>Promise 기반</a>의 HTTP 클라이언트로, Node.js와 브라우저 모두에서 사용할 수 있습니다. Axios는 사용하기 간편하고, 다양한 기능을 제공합니다. 설치 ```bash npm install axios ``` 사용 예제 ```javascript const axios = require('axios'); axios.get('https://api.example.com/data') .then((response) => { console.log(response.data); }) .catch((error) => { console.error(`문제가 발생했습니다: ${error.message}`); }); ``` 3. Fetch API 사용하기 Node.js 18버전부터는 Fetch API가 기본적으로 지원됩니다. Fetch API는 브라우저에서 사용되는 것과 유사한 방식으로 HTTP 요청을 처리할 수 있습니다. 사용 예제 ```javascript const fetch = require('node-fetch'); // Node.js 17 이하에서는 설치 필요 fetch('https://api.example.com/data') .then((response) => { if (!response.ok) { throw new Error('네트워크 응답이 좋지 않습니다.'); } return response.json(); }) .then((data) => { console.log(data); }) .catch((error) => { console.error(`문제가 발생했습니다: ${error.message}`); }); ``` 4. Request 라이브러리 사용하기 Request 라이브러리는 HTTP 요청을 간편하게 처리할 수 있도록 도와주는 라이브러리입니다. 하지만 현재는 더 이상 유지보수되지 않으므로, 새로운 프로젝트에서는 Axios나 Fetch를 사용하는 것이 좋습니다. 설치 ```bash npm install request ``` 사용 예제 ```javascript const request = require('request'); request('https://api.example.com/data', { json: true }, (err, res, body) => { if (err) { return console.error(err); } console.log(body); }); ``` 5. 비동기/대기 패턴 사용하기 비동기/대기 패턴을 사용하면 코드가 더 <a href='https://sangseek.com/sangseeks/깔끔/ko'>깔끔</a>해지고 가독성이 좋아집니다. Axios와 Fetch API 모두 Promise를 반환하므로, async/await 구문을 사용할 수 있습니다. Axios 예제 ```javascript const axios = require('axios'); async function fetchData() { try { const response = await axios.get('https://api.example.com/data'); console.log(response.data); } catch (error) { console.error(`문제가 발생했습니다: ${error.message}`); } } fetchData(); ``` Fetch API 예제 ```javascript async function fetchData() { try { const response = await fetch('https://api.example.com/data'); if (!response.ok) { throw new Error('네트워크 응답이 좋지 않습니다.'); } const data = await response.json(); console.log(data); } catch (error) { console.error(`문제가 발생했습니다: ${error.message}`); } } fetchData(); ``` 결론 Node.js에서 외부 API를 호출하는 방법은 다양하며, 사용자의 필요에 따라 적절한 방법을 선택할 수 있습니다. 기본 HTTP 모듈을 사용할 수도 있지만, Axios나 Fetch API와 같은 라이브러리를 사용하는 것이 더 간편하고 효율적입니다. 비동기/대기 패턴을 활용하면 코드의 가독성을 높일 수 있으므로, 이를 적극적으로 활용하는 것이 좋습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기