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 |
Tags
- 중복선택
- 항해99후기
- NextJS v13
- 카테고리필터
- 숫자를 별점으로
- 중복카테고리
- 그리디
- 알고리즘
- 항해99
- 실전프로젝트
- db수정
- 자바스크립트
- 클라이언트 컴포넌트
- 동전 0
- 배열 메소드
- 백준
- jQuery
- 부트캠프항해
- 탐욕알고리즘
- 로딩 후 실행
- 서버 컴포넌트
- 항해99솔직후기
- 날씨 api
- react
- 항해99추천
- 프로그래머스
- server component
- greedy
- JavaScript
- 배열 중복 제거
Archives
- Today
- Total
공부 및 일상기록
[WIL] axios 란? (+ axios 간단 사용법) 본문
axios란?
공식문서에 따른 정보는 다음과 같다.
axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리 이다.
일종의 자바스크립트에 내장되어 있는 fetch API와 유사한 기능이지만 차이점이 존재한다.
axios vs fetch
axios | fetch |
요청 객체에 url이 있다. | 요청 객체에 url이 없다. |
써드파티 라이브러리로 설치가 필요 | 현대 브라우저에 빌트인이라 설치 필요 없음 |
XSRF 보호를 해준다. | 별도 보호 없음 |
data 속성을 사용 | body 속성을 사용 |
data는 object를 포함한다 | body는 문자열화 되어있다 |
status가 200이고 statusText가 ‘OK’이면 성공이다 | 응답객체가 ok 속성을 포함하면 성공이다 |
자동으로 JSON데이터 형식으로 변환된다 | .json()메서드를 사용해야 한다. |
요청을 취소할 수 있고 타임아웃을 걸 수 있다. | 해당 기능 존재 하지않음 |
HTTP 요청을 가로챌수 있음 | 기본적으로 제공하지 않음 |
download진행에 대해 기본적인 지원을 함 | 지원하지 않음 |
좀더 많은 브라우저에 지원됨 | Chrome 42+, Firefox 39+, Edge 14+, and Safari 10.1+이상에 지원 |
axios 설치
yarn add axios
npm install axios
둘 중 하나 터미널에 입력하여 설치한다.
axios 문법 구성
axios({
url: 'https://test/api/cafe/list/today', // 통신할 웹문서
method: 'get', // 통신할 방식
data: { // 인자로 보낼 데이터
foo: 'diary'
}
});
aixos 요청 파라미터
method : 요청방식. (get이 디폴트)
url : 서버 주소
baseURL : url을 상대경로로 쓸대 url 맨 앞에 붙는 주소.예를들어, url이 /post 이고 baseURL이 https://some-domain.com/api/ 이면,
https://some-domain.com/api/post로 요청 가게 된다.
headers : 요청 헤더
data : 요청 방식이 'PUT', 'POST', 'PATCH' 해당하는 경우 body에 보내는 데이터
params : URL 파라미터 ( ?key=value 로 요청하는 url get방식을 객체로 표현한 것)
timeout : 요청 timeout이 발동 되기 전 milliseconds의 시간을 요청. timeout 보다 요청이 길어진다면, 요청은 취소되게 된다.
responseType : 서버가 응답해주는 데이터의 타입 지정 (arraybuffer, documetn, json, text, stream, blob)
responseEncoding : 디코딩 응답에 사용하기 위한 인코딩 (utf-8)
transformRequest : 서버에 전달되기 전에 요청 데이터를 바꿀 수 있다.
요청 방식 'PUT', 'POST', 'PATCH', 'DELETE' 에 해당하는 경우에 이용 가능
배열의 마지막 함수는 string 또는 Buffer, 또는 ArrayBuffer를 반환함
header 객체를 수정 가능
transformResponse : 응답 데이터가 만들어지기 전에 변환 가능
withCredentials : cross-site access-control 요청을 허용 유무. 이를 true로 하면 cross-origin으로 쿠키값을 전달 할 수 있다
auth : HTTP의 기본 인증에 사용. auth를 통해서 HTTP의 기본 인증이 구성이 가능
maxContentLength: http 응답 내용의 max 사이즈를 지정하도록 하는 옵션
validateStatus : HTTP응답 상태 코드에 대해 promise의 반환 값이 resolve 또는 reject 할지 지정하도록 하는 옵션
maxRedirects : node.js에서 사용되는 리다이렉트 최대치를 지정
httpAgent / httpsAgent : node.js에서 http나 https를 요청을 할때 사용자 정의 agent를 정의하는 옵션
proxy : proxy서버의 hostname과 port를 정의하는 옵션
cancelToken : 요청을 취소하는데 사용되어 지는 취소토큰을 명시
출처: https://inpa.tistory.com/entry/AXIOS-📚-설치-사용 [👨💻 Dev Scroll:티스토리]
axios 단축 메소드
axios를 편리하게 사용하기 위해 모든 요청 메소드는 aliases가 제공된다.
axios GET : 단순 데이터 요청을 수행할 경우, 파라미터 데이터를 포함시키는 경우
axios POST : 데이터를 message body에 포함시켜 보내는 경우
axios DELETE : body가 비어있고 REST 기반 API 프로그램에서 DB에 저장된 내용을 삭제하는 목적으로 사용
axios PUT : REST 기반 API 프로그램에서 DB에 저장된 내용을 갱신하는 목적으로 사용 put 은 내부적으로 get→post 과정을 거치기 때문에 post 메서드와 비슷한 형태이다.
'개발 > TIL WIL 공부목표' 카테고리의 다른 글
[WIL] 첫 협업을 하며 느낀 아쉬운 점 및 뿌듯한 점 (0) | 2022.10.28 |
---|---|
[TIL] React Dynamic routing 사용시 이미지 불러오기 실패 (0) | 2022.10.24 |
[WIL, React] Lifecycle, 상태주기, 생명주기 (0) | 2022.10.17 |
[WIL] React hooks (0) | 2022.10.16 |
[WIL] 항해99 3주차 WIL (서버리스와 DOM) (0) | 2022.10.04 |