Promise BaseのHttp clientのaxiosの使い方について記載します。
環境
この記事を記載した時の環境は以下となります。
項目 | バージョン |
---|---|
node | v9.11.1 |
axios | 0.18.0 |
axiosのインストール
以下を実行するだけ。
npm install --save axios
getメソッド
GETを発行する場合は、getメソッドを利用します。
また、GETパラメータを付加したい場合は、URLに付加または、第2引数にオブジェクトを渡すことでも指定できます。
※configで指定する方法もあります。
const axios = require('axios');
async function get() {
const { data } = await axios.get(
'http://localhost:8080/user',
{
params: {
id: '1234'
}
}
);
console.log(data);
}
get();
postメソッド
POSTを発行する場合は、postメソッドを利用します。
const axios = require('axios');
async function post() {
const { data } = await axios.post(
'http://localhost:8080/user', {
id: '1234',
name: 'confrage'
}
);
console.log(data);
}
post();
configオブジェクトを使ってリクエスト
axiosにconfigオブジェクトを渡すことでも、リクエストを発行することができます。
const axios = require('axios');
async function post() {
const { data } = await axios({
method: 'POST',
url: 'http://localhost:8080/user',
data: {
id: '1234',
name: 'confrage'
}
});
console.log(data);
}
post();
カスタムインスタンス
各リクエストで共通の設定をあらかじめ実施したインスタンスを用意し、リクエストすることも可能です。
const axios = require('axios');
const request = axios.create({
baseURL: 'http://localhost:8080'
});
async function get() {
const { data } = await request.get(
'/user',
{
params: {
id: '1234'
}
}
);
console.log(data);
}
get()
証明書検証エラーを無視する
rejectUnauthorized:false
を指定したhttps agentを作成し、httpsAgentに指定することで可能です。
const https = require('https');
const axios = require('axios');
const request = axios.create({
baseURL: 'https://localhost:8080',
httpsAgent: new https.Agent({
rejectUnauthorized: false
})
});
async function get() {
try {
const { data } = await request.get(
'/user',
{
params: {
id: '1234'
}
}
);
console.log(data);
} catch (e) {
console.log(e);
}
}
get();
ECMAScript,Javaを扱います。
最近は、vue.jsなどフロントエンドの技術に興味あり!
中日ドラゴンズを応援してます。
コメント