[typescript] RESTful API 디자인 패턴과의 연동 방법

RESTful API 디자인은 API를 구축하고 설계하는 데 중요한 요소입니다. 이러한 디자인 패턴을 TypeScript와 어떻게 연동할 수 있는지 알아보겠습니다.

1. 리소스 식별

RESTful 디자인에서는 각 API 엔드포인트가 유일한 리소스를 식별해야 합니다. TypeScript에서는 이를 클래스 또는 인터페이스로 정의할 수 있습니다.

예를 들어, 유저 리소스를 다음과 같이 정의할 수 있습니다.

interface User {
  id: number;
  name: string;
  email: string;
}

2. HTTP 메서드 활용

RESTful API는 HTTP 메서드를 활용하여 리소스에 대한 액션을 정의합니다. TypeScript에서는 해당 메서드와 함께 사용할 수 있는 라이브러리를 선택하여 API 요청을 보낼 수 있습니다.

예를 들어, axios를 사용하여 GET 요청을 보내는 코드는 다음과 같습니다.

import axios from 'axios';

async function getUser(userId: number) {
  const response = await axios.get(`/users/${userId}`);
  return response.data;
}

3. 상태 코드 및 오류 처리

RESTful API는 적절한 HTTP 상태 코드를 반환하여 요청의 성공 또는 실패를 나타냅니다. TypeScript에서는 이러한 상태 코드를 처리하고 오류를 적절하게 핸들링하는 방법을 구현할 수 있습니다.

예를 들어, axios로 요청을 보낼 때 발생하는 오류를 처리하는 코드는 다음과 같습니다.

try {
  const response = await axios.get('/users');
  return response.data;
} catch (error) {
  if (error.response) {
    console.log(error.response.data);
  } else {
    console.log(error.message);
  }
}

이러한 방식으로 TypeScript에서 RESTful API 디자인 패턴을 쉽게 연동할 수 있습니다.


이 포스트는 Representational State Transfer (REST)와 TypeScript 공식 문서를 참고하여 작성되었습니다.