6/12 TIL (axios get, patch)

Hwiยท2024๋…„ 6์›” 12์ผ

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
46/96

๐Ÿ“– ์ง„ํ–‰ํ•œ ๊ณต๋ถ€ ๐Ÿ“–

  • axios get ๋ฉ”์„œ๋“œ๋กœ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • axios patch ๋ฉ”์„œ๋“œ๋กœ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ

axios get

  const getUserInfo = async () => {
    try {
    const accessToken = localStorage.getItem("accessToken");
    if(accessToken) {
      const response = await axios.get("https://moneyfulpublicpolicy.co.kr/user", {
        headers: {
          "Content-Type": "application/json",
          Authorization: `Bearer ${accessToken}`,
        }
      });
      setUserInfo(response.data);
    }
    } catch (error) {
      console.error("์œ ์ € ์ •๋ณด ์—๋Ÿฌ=>", error);
    }
  }

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํ™”๋ฉด์— ์›ํ•˜๋Š” ๋Œ€๋กœ ์ถœ๋ ฅ๋„ ์•ˆ ๋˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์ฐํžˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ด๋Š” setUserInfo(response) ๊ฐ€ ์ฒ˜์Œ์—” ๋ญ๊ฐ€ ํ‹€๋ฆฐ ๊ฑฐ์ง€ ๋ชฐ๋ž์—ˆ๋Š”๋ฐ

console.log(response)๋ฅผ ์ฐ์–ด๋ด„์œผ๋กœ์จ response ์•ˆ์— ์žˆ๋Š” data์— ์ ‘๊ทผํ•ด์•ผ ํ•ด๋‹น ์œ ์ €์˜ ID, Nickname, avatar์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ๊ณ ๋‚œ ํ›„ setUserInfo(response.data) ๋กœ ์ˆ˜์ •ํ•ด์คฌ์Œ

๊ทธ๋Ÿฌ๋‚˜ ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ํ•ด๋‹น ์—‘์„ธ์Šคํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜๋ฉด์„œ 401 ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ๊ณ ์น˜๊ธฐ ์œ„ํ•ด์„  ์•ก์„ธ์Šคํ† ํฐ์„ ๊ฐฑ์‹ ํ•ด์ฃผ๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž์—๊ฒŒ ํ† ํฐ์ด ๋งŒ๋ฃŒ๋์œผ๋‹ˆ ๋‹ค์‹œ ๋กœ๊ทธ์ธ์„ ํ•˜๋ผ๊ณ  ์œ ๋„๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ๋งŒ ๊ฐ–๊ณ  ์žˆ์ง€ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„์€ ๋ชปํ•ด๋ดค์Œ

axios patch

const handleSubmit = async () => {
    const formData = new FormData();
    if(avatar) {
      formData.append("avatar", avatar);
      formData.append("nickname", nickname);
    }
    
    try{
      const accessToken = localStorage.getItem("accessToken");
      const response = await axios.patch("https://moneyfulpublicpolicy.co.kr/profile", formData, {
        headers: {
          "Content-Type": "multipart/form-data",
          Authorization: `Bearer ${accessToken}`,
        },
      });
      console.log(response);
      getUserInfo();
      alert("ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ์„ฑ๊ณต!")
    }
    catch (error) {
      console.error("ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ์˜ค๋ฅ˜=>", error);
    }
  };

FormData()๋ฅผ ์‚ฌ์šฉํ•ด FormData์— ๋‹‰๋„ค์ž„, ์•„๋ฐ”ํƒ€(ํ”„๋กœํ•„ ์‚ฌ์ง„)์„ ์ถ”๊ฐ€ํ•ด์ค€ ๊ฒƒ ๋ง๊ณค ๋‹ค๋ฅธ axios ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€ ์ฝ”๋“œ๊ฐ€ ๋น„์Šท๋น„์Šทํ•˜๋‹ค.

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฒช์€ ๋ฌธ์ œ๋ผ๋ฉด ์ฒ˜์Œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์‹œ์—” ์•„๋ฌด ๋ฌธ์ œ์—†์ด ์—…๋ฐ์ดํŠธ๊ฐ€ ์ž˜ ๋˜๋Š”๋ฐ, ๊ทธ ํ›„์— ํ•œ ๋ฒˆ ๋” ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์–ด๋– ํ•œ ์ด์œ ์—์„œ์ธ์ง€ ๊ฐ€๋”์”ฉ ์—…๋ฐ์ดํŠธ๊ฐ€ ์•ˆ๋œ๋‹ค.. ์–ด์ฉŒ๋‹ค ํ•œ ๋ฒˆ ๊ทธ๋Ÿฌ๋Š” ๊ฑฐ ๋ณด๋‹ˆ ๋ญ”๊ฐ€ ํ†ต์‹ ์ƒ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฑฐ ๊ฐ™๊ธด ํ•œ๋ฐ ์ด๊ฒƒ๋„ ์œ„์— get ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฒช์—ˆ๋˜ ๋ฌธ์ œ์™€ ๊ฐ™์ด ๋‚ด์ผ ํ•ด๊ฒฐ์„ ํ•ด๋ด์•ผ ํ•  ๊ฑฐ ๊ฐ™๋‹ค

์ผ๋‹จ ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ์„ ํ•ด๋ณด๊ฒ ๋‹ค

์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค nice ๐Ÿ‘
๋‚ด์ผ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธธ..

profile
๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์–ด~~~

3๊ฐœ์˜ ๋Œ“๊ธ€

์™„์ „ ์ž˜ํ•˜์…จ๊ตฌ๋งŒ

1๊ฐœ์˜ ๋‹ต๊ธ€