Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 이진탐색
- alexnet
- cors
- 프로그래머스
- 코딩테스트
- 타입스크립트
- C
- 자료구조
- RxJS
- 릿코드
- 알고리즘
- RT scheduling
- pytorch
- 연결 리스트
- APOLLO
- 연결리스트
- 큐
- GraphQL
- 웹팩
- 자바스크립트
- 해시테이블
- Machine Learning
- 배열
- 프로세스
- vue3
- 컨테이너
- 프론트엔드
- 스택
- 브라우저
- 포인터
Archives
- Today
- Total
프린세스 다이어리
[Vue3] Axios로 로컬에 있는 json 목데이터 가져오는 법 참쉽죠 본문
728x90
백엔드 api가 완성되기 전, api문서의 응답 example 가지고 화면단에 보여줄 데이터를 가져오는 법을 정리해보았다. 왕초보라서^^ 경로 가지고 삽질하다가 다시는 시간 허비 안 하겠다고 다짐하며 쓰는 글.
1. axios 설치
yarn add axios
2. 데이터 요청 메서드를 정의하는 프로젝트 파일에서 axios import
import axios from 'axios'
3. 데이터 요청 메서드 쓰기
export async function fetchInfo(): Promise<DetailResponseI> {
const response = await axios({
url: '/detailMock.json',
method: 'GET',
})
return Promise.resolve(response.data.result);
}
// 또는
export async function fetchInfo(): Promise<DetailResponseI> {
const response = await axios.get('/detailMock.json')
return Promise.resolve(response.data.result);
}
4. 파일을 하나 만들어 json 형식의 mock 데이터를 복붙 한다.
// detailMock.json
{
"code" : "SUCCESS",
"errorCode" : "0000",
"message" : "정상입니다.",
"result" : {
"orderNumber" : 21090321,
"status" : "CANCELED",
"paymentType" : "CARD",
...
주의: axios로 받을 json 파일은 root > public 폴더 내에 위치시킨다.
-> axios.get('/detailMock.json')의 의미는, root/public/detailMock.json 경로에서 /public까지의 경로를 생략한 것이다.
5. 응답 값을 필요로 하는 프로젝트 파일에서 axios 메서드를 가져온다.
import { fetchInfo } from '@/api/service'
6. 메서드를 mounted 시점에서 콜 한다.
setup() {
return {
bookingItem: {} as Ref<BookingItemI>,
...
}
},
async mounted() {
try {
const result = await fetchInfo();
this.bookingItem = result.product
...
} catch (e) {
console.log(e)
} finally {
console.log('finally')
}
...
}
7. 네트워크 창을 열고, response가 잘 들어오는지 확인한다.
728x90
'FE' 카테고리의 다른 글
[JavaScript] 자바스크립트 메모리 누수를 막기 위한 방법들 (0) | 2021.10.03 |
---|---|
[Vue3, TypeScript] Type 'ResponseI' is missing the following properties from type 'ResultI' 에러해결 (0) | 2021.09.20 |
[Vue3] [Vue warn]: Missing required prop: "list" 해결법 (0) | 2021.09.18 |
[Vue3] lodash debounce 메서드 vue에서 사용하는 방법 (0) | 2021.09.17 |
웹팩의 핵심 구성 요소 4가지, 프론트엔드 개발에 꼭 필요한 추가 요소 (0) | 2021.09.11 |
Comments