Axiosを使用したノードでのHTTPリクエスト

Axiosは、Node.jsでHTTPリクエストを実行するのに非常に便利なJavaScriptライブラリです。

前書き

Axiosは、HTTPリクエストの実行に使用できる非常に人気のあるJavaScriptライブラリであり、ブラウザとNode.jsプラットフォーム。

IE8以降のサポートを含むすべての最新ブラウザをサポートします。

これはpromiseベースであり、これにより、実行する非同期/待機コードを記述できます。XHR非常に簡単にリクエストできます。

Axiosを使用すると、ネイティブに比べてかなりの利点がありますフェッチAPI

  • 古いブラウザをサポートします(フェッチにはポリフィルが必要です)
  • リクエストを中止する方法があります
  • 応答タイムアウトを設定する方法があります
  • CSRF保護が組み込まれています
  • アップロードの進行状況をサポート
  • 自動JSONデータ変換を実行します
  • Node.jsで動作します

ビデオチュートリアル

POSTエンドポイントを提供するExpressサーバーを作成し、それにAxiosリクエストを送信して、データを投稿するこのビデオを確認してください。


インストール

Axiosはを使用してインストールできますnpm

npm install axios

または

yarn add axios

または、unpkg.comを使用してページに含めます。

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

Axios API

からHTTPリクエストを開始できますaxiosオブジェクト:

私が使うfooそしてbarなのでランダムな名前。それらを置き換えるために任意の種類の名前を入力してください。

axios({
  url: 'https://dog.ceo/api/breeds/list/all',
  method: 'get',
  data: {
    foo: 'bar'
  }
})

しかし、便宜上、あなたは一般的に使用します

  • axios.get()
  • axios.post()

(jQueryのように使用します$.get()そして$.post()の代わりに$.ajax()

Axiosは、あまり人気がないがまだ使用されているすべてのHTTP動詞のメソッドを提供します。

  • axios.delete()
  • axios.put()
  • axios.patch()
  • axios.options()

リクエストのHTTPヘッダーを取得し、本文を破棄するメソッド:

  • axios.head()

GETリクエスト

Axiosを使用する便利な方法の1つは、最新(ES2017)のasync / await構文を使用することです。

このNode.jsの例は、DogAPIを使用して、すべての犬の品種のリストを取得するにはaxios.get()、そしてそれはそれらを数えます:

const axios = require('axios')

const getBreeds = async () => { try { return await axios.get(https://dog.ceo/api/breeds/list/all) } catch (error) { console.error(error) } }

const countBreeds = async () => { const breeds = await getBreeds()

if (breeds.data.message) { console.log(Got </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">breeds</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> breeds) } }

countBreeds()

async / awaitを使用したくない場合は、約束構文:

const axios = require('axios')

const getBreeds = () => { try { return axios.get(https://dog.ceo/api/breeds/list/all) } catch (error) { console.error(error) } }

const countBreeds = async () => { const breeds = getBreeds() .then(response => { if (response.data.message) { console.log( Got </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> breeds ) } }) .catch(error => { console.log(error) }) }

countBreeds()

GETリクエストにパラメータを追加する

GET応答には、次のようにURLにパラメーターを含めることができます。https://site.com/?foo=bar

Axiosでは、次のURLを使用してこれを実行できます。

axios.get('https://site.com/?foo=bar')

またはあなたは使用することができますparamsオプションのプロパティ:

axios.get('https://site.com/', {
  params: {
    foo: 'bar'
  }
})

POSTリクエスト

POSTリクエストの実行は、GETリクエストの実行と同じですが、代わりにaxios.get、 あなたが使うaxios.post

axios.post('https://site.com/')

POSTパラメータを含むオブジェクトは2番目の引数です。

axios.post('https://site.com/', {
  foo: 'bar'
})

私の無料ダウンロードNode.jsハンドブック


その他のノードチュートリアル: