
GDG 프로젝트를 진행하면서 백엔드의 api명세서를 보고 axios를 작성하던 와중, get post에 대한 정확한 차이가 문득 궁금해졌다.
쉽게말해 get은 정보를 가져온다는 개념 post는 정보를 준다는 개념
Get은 서버에서 어떠한 데이터를 가져와 보여줄 경우에 사용합니다. 예를들어 이번 프로젝트를 토대로 말을 하자면, 입력한 코디네이터의 정보에 따라서 유저들의 메인 페이지에 보여줘야하는 경우에 get을 사용할 수 있습니다.

GET method 는 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드입니다.쿼리 스트링이란
url 주소에 미리 협의된 데이터를 파라미터를 통해 넘기는 것을 말한다. ex. http://~~~/path?querystring
쿼리 스트링 구조 > http://~~~/path?키1=값1&키2=값2&키3=값3
클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용 되는 메서드다.
case:
이번 프로젝트에서는 사용자의 키 / 몸무게 / 닉네임을 받아 백엔드로 넘겨줄때 사용.

idempotent = 멱등법칙
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
👉 즉, idempotent는 동일한 연산을 여러번 수행하더라도 동일한 결과가 나타나야한다.
앞에서 말했던것 처럼 get은 idempotent post는 non-idempotent 이다.
→ 생성에는 POST, 수정은 PUT 또는 PATCH, 삭제는 DELETE 가 더 용도에 맞는 메소드
useEffect(()=>{
async function fetchMainPage(){
try{
axios.defaults.withCredentials=true;
const res = await axios.get("http://localhost:8080/어디에/누구");
setMainPage(res)
}catch(error){
console.error(error);
}
}
fetchMainPage();
}, [])
const inputCode = (e) => {
let code = e.target.value
if(code.length == 4){
let Email = emailRef.current.value + '@' + domain;
async function fetchCode(){
try {
const res = await axios.post("http://127.0.0.1:8080/이메일/코드/어쩌구",
{
이메일 : Email,
코드 : code
});
if(res.data == 'success!'){
setPass(true);
}
} catch (error) {
console.error(error);
}
}
fetchCode()
}
}