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 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