ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WIL Axios
    카테고리 없음 2023. 5. 7. 19:08

    Axios는 브라우저와 Node.js에서 사용할 수 있는 Promise 기반의 HTTP 클라이언트 라이브러리이다.

     

    Axios를 사용하면 간단한 방법으로 HTTP 요청을 보낼 수 있습니다. GET, POST, PUT, DELETE 등 다양한 HTTP 요청 방식을 지원하며, JSON, URL 인코딩, 멀티파트 등의 다양한 형식의 데이터를 처리할 수 있다.

     

    Axios는 또한 요청과 응답에 인터셉터(Interceptor)를 사용할 수 있습니다. 인터셉터는 요청이나 응답을 가로채서 처리할 수 있으며, 예를 들어 요청 시 인증 토큰을 설정하거나 응답 데이터를 처리하는 등의 작업을 수행할 수 있다.

     

    Axios는 매우 간단하고 직관적인 API를 제공하기 때문에, 많은 개발자들이 자바스크립트나 리액트와 함께 사용한다.

     

     

    예제

    import axios from "axios";
    import Cookies from "js-cookie";
    
    
    const instance = axios.create({
      baseURL: process.env.REACT_APP_LOGIN_SERVER_URL
    })
    
    //회원가입 API
    const handleSignUp = async (props) => {
      try {
        const response = await instance.post(`/register`, {
          id: props.id,
          password: props.password
        })
        return response.data
      }
      catch (error) {
        if (error.response.status !== 201) {
          return error.response.data
        }
        throw new Error('회원가입 실패 ')
      }
    }
    
    //로그인 API
    const handleLogin = async (props) => {
      try {
        const response = await instance.post(`/login`, {
          id: props.id,
          password: props.password
        })
        return response.data
      }
      catch (error) {
        if (error.response.status !== 201) {
          return error.response.data
        }
      }
      // throw new Error(error.message)
    }
    
    //인가 API
    const getLoginData = async () => {
      const accessToken = Cookies.get('token');
      const response = await instance.get(`/user`, {
        headers: {
          "Content-Type": "application/json",
          authorization: `Bearer ${accessToken}`,
        }
      })
    
      return response
    }
    export { handleSignUp, handleLogin, getLoginData }
Designed by Tistory.