728x90
반응형
Axios 간단한 설명과 API 통신 결과를 화면으로 보내는 기초 예제
*자세한 설명 생략
▷ Axios 란?
- Vue에서 권고하는 Promise 기반의 HTTP 라이브러리
*Promise : 비동기 처리
- 서버와 HTTP 통신
- Ajax, fetch와 같은 웹 통신 기능
- JSON 데이터 자동 변환
▷ Axios 설치
*vue-cli를 통해 Project 생성 후 설치
💡npm install axios
▷ Axios 사용 방법(Post)
axios
.post(URI, data)
.then((res) => { // 성공
...
})
.catch((res) => { // 실패
...
});
▷ 기초 예제 - HTTP 통신
- main.js
*provide / inject를 사용하여 전역 변수 사용
*provide / inject 설명 생략
*Axios 모듈 사용 등록
import { createApp } from 'vue'
import App from './App.vue'
import { router } from './router/MenuNav.js'
import Axios from "axios";
createApp(App)
/** 모듈 사용 등록 */
.use(router)
/** 전역 설정 */
// Axios
.provide('$Axios', Axios)
// API URI
.provide('$BHS_CMM_LGN', "http://IP:Port/bhs/cmm/login.do")
/** 연결 */
.mount('#app');
- APICallTestCmp.vue
<template>
<div class="APICallTestCmp">
<h1>👨🏫 API Call Test </h1><br /><br />
<h4>아이디 : <input v-model="id" placeholder="아이디"></h4>
<h4>패스워드 : <input v-model="pwd" placeholder="패스워드"></h4>
<button @click="call(id, pwd);">API Call</button>
</div>
<div>
<h4>API Response</h4>
<div style="width: 700px; height: 300px; overflow: auto;">
{{ result }}
</div>
</div>
</template>
<script setup>
import { inject, ref } from 'vue';
const URI = inject("$BHS_CMM_LGN");
const Axios = inject("$Axios");
const result = ref("");
function call(id, pwd) {
const data =
{
"id": id,
"pwd": pwd
};
Axios
.post(URI, data)
.then((res) => {
const resVO = res.data;
if (resVO.resultCode == "0000") {
result.value = resVO.jwt;
} else {
alert(resVO.resultMsg);
}
})
.catch(() => {
console.log("실패");
})
}
</script>
▷결과 화면
▷참고
▷ 관련 글
728x90
728x90
'▶ Front-End > Vue.js' 카테고리의 다른 글
Vue3 기초 예제 - Axios 모듈화(async/await) (0) | 2023.10.30 |
---|---|
Vue3 기초 예제 - 로그인(pinia) (2) | 2023.10.30 |
Vue3 기초 예제 - Router(메뉴 네비게이션) (0) | 2023.10.26 |
Vue3 기초 예제 - Dynamic Select Box (0) | 2023.10.25 |
Vue 기초 예제 - Directive(조건/반복) (0) | 2023.10.23 |
댓글