Node.js의 HTTP 포스트 요청

Shraddha Paghdar 2023년10월12일
  1. Node.js의 HTTP 포스트 요청
  2. Node.js에서 HTTP 요청을 만드는 다양한 방법
Node.js의 HTTP 포스트 요청

이 기사에서는 Node.js를 사용하여 타사 패키지를 사용하여 게시물 요청을 만드는 방법을 배웁니다.

Node.js의 HTTP 포스트 요청

HTTP POST 방법은 서버에서 리소스를 생성하거나 추가합니다. POST 요청과 PUT 요청의 주요 차이점은 POST 요청을 통해 새 리소스가 서버에 추가/생성되는 반면 기존 리소스는 PUT 요청을 통해 업데이트/대체된다는 것입니다.

예를 들어 브라우저는 HTML 양식 데이터를 서버로 보낼 때 또는 jQuery/AJAX 요청을 통해 데이터를 보낼 때 HTTP POST 요청 방법을 사용합니다. GET 및 HEAD 요청과 달리 HTTP POST 요청은 서버의 상태를 변경할 수 있습니다.

Node.js에서 HTTP 요청을 만드는 다양한 방법

Axios 라이브러리 사용

Axios를 사용하여 REST 엔드포인트에 비동기 HTTP 요청을 보낼 수 있습니다. Axios를 사용하면 CRUD 작업을 쉽게 수행할 수 있습니다.

다음 명령을 사용하여 Axios 라이브러리를 설치합니다.

$ npm i axios

POST 요청은 post() 메소드로 생성됩니다. post() 함수에 두 번째 매개변수로 전달되면 Axios는 자동으로 JavaScript 객체를 JSON으로 직렬화합니다.

POST 본문을 JSON으로 직렬화할 필요가 없습니다.

완전한 소스 코드:

const axios = require('axios');
async function submitRequest() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const res =
      await axios.post('https://jsonplaceholder.typicode.com/posts', payload);
  const data = res.data;
  console.log(data);
}
submitRequest();

위의 예에서 사용자가 양식을 제출하면 지정된 URL(이 게시물에서는 dummy) 및 매개변수를 사용하여 POST 호출이 노드 서버로 전송됩니다. 서버가 중단 없이 이 데이터를 처리하면 성공 메시지를 반환합니다.

서버 응답의 출력에 따라 콘솔에 메시지를 인쇄하거나 메시지로 사용자에게 알릴 수 있습니다.

출력:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

데모 실행

노드 가져오기 라이브러리 사용

node-fetch 라이브러리를 사용하여 REST 끝점에 비동기 HTTP 요청을 보낼 수 있습니다. node-fetch 여기에 대한 자세한 정보를 찾을 수 있습니다.

다음 명령을 사용하여 node-fetch 라이브러리를 설치합니다.

$ npm i node - fetch

완전한 소스 코드:

const fetch = require('node-fetch');
async function getTodoData() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
    method: 'post',
    body: JSON.stringify(payload),
    headers: {'Content-Type': 'application/json'}
  });
  const data = await response.json();
  console.log(data);
}
getTodoData();

출력:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

데모 실행

SuperAgent 라이브러리 사용

SuperAgent 라이브러리를 사용하여 Node.js에서 HTTP 게시 요청을 만들어 보겠습니다. SuperAgent 라이브러리에 대한 자세한 정보는 여기에서 찾을 수 있습니다.

다음 명령을 사용하여 superagent 라이브러리를 설치합니다.

$ npm i superagent

완전한 소스 코드:

const superagent = require('superagent');
async function getTodoData() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const res =
      await superagent.post('https://jsonplaceholder.typicode.com/posts')
          .send(payload);
  console.log(res.body);
}
getTodoData();

출력:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

데모 실행

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn