Node.js での HTTP Post リクエスト

Shraddha Paghdar 2023年10月12日
  1. Node.js での HTTP Post リクエスト
  2. Node.js で HTTP リクエストを行うさまざまな方法
Node.js での HTTP Post リクエスト

この記事では、Node.js を使用してサードパーティ パッケージを使用して投稿リクエストを行う方法を学習します。

Node.js での HTTP Post リクエスト

HTTP POST メソッドは、サーバー上でリソースを作成または追加します。 POST リクエストと PUT リクエストの主な違いは、POST リクエストを介してサーバーに新しいリソースが追加/作成されるのに対し、PUT リクエストを介して既存のリソースが更新/置換されることです。

たとえば、ブラウザーは、HTML フォーム データをサーバーに送信するとき、または jQuery/AJAX 要求を介してデータを送信するときに、HTTP POST 要求メソッドを使用します。 GET および HEAD リクエストとは異なり、HTTP POST リクエストはサーバーの状態を変更できます。

Node.js で HTTP リクエストを行うさまざまな方法

Axios ライブラリを使用する

Axios を使用して、非同期 HTTP リクエストを REST エンドポイントに送信できます。 Axios を使用すると、CRUD 操作を簡単に実行できます。

次のコマンドを使用して、Axios ライブラリをインストールします。

$ npm i axios

POST リクエストは post() メソッドで作成されます。 post() 関数に 2 番目のパラメーターとして渡されると、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 (この投稿ではダミー) とパラメーターを使用して POST 呼び出しがノード サーバーに送信されます。 サーバーがこのデータを中断することなく処理すると、成功メッセージが返されます。

サーバー応答の出力に基づいて、コンソールにメッセージを出力するか、メッセージでユーザーに通知できます。

出力:

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

デモを実行

ノードフェッチ ライブラリを使用する

node-fetch ライブラリを使用して、非同期 HTTP リクエストを REST エンドポイントに送信できます。 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