Referance:
https://axios-http.com/kr/docs/api_intro
https://www.codegrepper.com/code-examples/javascript/axios+try+catch
https://koras02.tistory.com/48
https://yamoo9.github.io/axios/guide/api.html
AXIOS를 알아보기 전에,
먼저 AJAX, Fetch API를 간단히 정리해보았습니다.
const url = '요청할 주소'
const options = {
method: 'POST',
header: {
'Accept' : 'application/json',
'Content-Type':'application/json';charset=UTP-8'
},
body:JSON.stringify({
name: 'test'
})
fetch(url.options)
.then(response => console.log(response))
}
const option = {
url = '요청할 주소'
method:'POST',
header: {
'Accept':'application/json',
'Content-Type': 'application/json';charset=UTP-8'
},
data: {
name: 'test'
}
axios(options)
.then(response => console.log(response))
}
yarn add axios
명령어 메소드를 사용시 'url', 'method', 'data' 속성을 config에서 지정할 필요가 없습니다.
GET 방식은 서버에서 어떠한 데이터를 받아서 보여줄 때 사용합니다.
- response는 json형태입니다.
const getLists = async () => {
const { data } = await axios.get("요청할 주소")
// 이곳에서 받은 데이터 확인(JSON)
}
const getLists = async () => {
try {
const { data } = await axios.get("요청할 주소")
console.log(data);
} catch (error) {
console.log(error);
}
}
const getLists = async () => {
axios.get("요청할 주소")
.then(res => {
console.log(res.data)
}).catch(err => {
console.log(err);
})
}
POST 메소드의 두 번째 인자는 요청주소로 보낼 데이터 객체입니다.
- ex) 업로드, 로그인, 글 작성 등
const postList = async () => {
const { data } = await axios.post(
"요청할 주소",
"보낼 값(객체)",
{
headers: {
'Content-type': 'application/json',
'Accept': 'application/json'
}
}).then(res => {
console.log(res.data);
}).catch(err => {
console.log(err)
})
}
const postList = async () => {
try {
const { data } = await axios.post("요청할 주소", {
headers: {
'Content-type': 'application/json',
'Accept': 'application/json'
}
})
console.log(data);
} catch (error) {
console.log(error);
}
}
DELETE 메소드는 데이터베이스의 내용을 삭제합니다. .delete()는 두 번째 인자를 전달하지 않습니다.
const deleteList = async (listId) => {
const { data } = await axios.delete(`요청할 주소/${listId}`)
}
PUT과 PATCH 메소드는 데이터베이스에 저장된 내용을 갱신하는 목적으로 사용됩니다.
PUT과 PACTH 차이점
PUT은?
=> 보낸 내용으로 리소스를 덮어씁니다.
PACTH는?
=> 보낸 내용으로 리소스의 일부를 변경합니다.PUT과 PACTH는 HTTP 환경에서 대부분의 사람들이 약속한 문맥입니다. 즉, 반드시 PATCH와 PUT을 사용해야 하는 것은 아닙니다.
axios.put("요청할 주소", "덮어쓸 값", config)
axios.patch("요청할 주소", "일부만 바꿀 값", config)