axios
https://gyazo.com/fd559c8584e1c8f3ce36ded23c1d47af
Promise based HTTP client for the browser and node.js
ブラウザや node.js で動く Promise ベースのHTTPクライアント
公式
Features
Make XMLHttpRequests from the browser
Make http requests from node.js
Supports the Promise API
Intercept request and response
Transform request and response data
Cancel requests
Automatic transforms for JSON data
Client side support for protecting against XSRF
code:api/axios.js
// userのAPI系Service
import axios from 'axios';
import authHeader from './auth-header';
axios.defaults.baseURL = process.env.VUE_APP_API_URL_BASE;
class UserService {
getAdminBoard() {
return axios.get('admin', { headers: authHeader() });
}
}
export default new UserService();
Model モデル プログラミング定義
JavaScript (ES6) でAPIから受け取ったデータをモデルに入れるプラクティス - Make組ブログ
Vue.jsでAPIにないフィールドはモデルにも作らないプラクティス - モデルとViewModelの区別の仕方 - Make組ブログ
生JavaScriptでなく、TypeScriptがよさそう
ファイル Fileダウンロード Download
axiosでファイルダウンロード処理を実装(IEにも対応) - Qiita
FileSaver.js
interceptors
axios/axios: Promise based HTTP client for the browser and node.js interceptors
TODO
Error エラー処理などいいDesign Patterns デザインパターン試す
vue-element-admin/request.js at master · PanJiaChen/vue-element-admin
代替
GitHub.icondevelopit/redaxios: The Axios API, as an 800 byte Fetch wrapper.
サイズ小さくしたい時に使う
参考
axiosでJSONを取得する[Vue.js]
axios の導入と簡単な使い方 - Qiita
axios を利用した API の使用 — Vue.js