이번 팀프로젝트를 무사히 마쳤다. 이번 프로젝트에서는 우리팀 포함한 다른팀들도 가장 많이 받은 피드백이 RESTful한 API를 짜라는 것이었다. 그렇다면 RESTful한 API란 무엇일까?
REST(Representational State Transfer)
: 웹 서비스를 위한 아키텍처 스타일 중 하나이다. RESTful API는 이 아키텍처 스타일을 따르는 API를 말한다.
- 자원 (Resource): RESTful API는 자원을 중심으로 설계됩니다. 자원은 서비스에 대한 정보를 나타냅니다. 예를 들어, 사용자, 제품, 주문 등의 개념적인 개체가 자원이 될 수 있습니다.
- 행위 (Verb): HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원에 대한 행위를 정의합니다. 각각의 메서드는 다음과 같은 의미를 갖습니다.
- 표현 (Representation): 자원은 여러 형식의 표현으로 나타낼 수 있습니다. 예를 들어, JSON, XML 등의 형식으로 자원을 표현할 수 있습니다.
- 상태 (Stateless): RESTful API는 상태를 저장하지 않는(stateless) 특성을 갖습니다. 각 요청은 모든 필요한 정보를 포함하고 있어야 하며, 서버는 이전 요청과의 상태를 유지하지 않습니다. 이는 서비스의 확장성을 향상시키고, 서버의 부하를 줄이는 데 도움이 됩니다.
- 인터페이스 일관성: RESTful API는 일관된 인터페이스를 제공해야 합니다. 즉, URI의 구조, HTTP 메서드의 사용 등이 일관되어야 합니다.
- 계층 구조 (Layered System): 클라이언트와 서버 사이에 여러 계층을 두고, 이를 통해 확장성과 보안성을 향상시킬 수 있습니다.
RESTful API는 이러한 특징을 따르면서, 웹 기술의 표준이 되었고, 다양한 서비스와 애플리케이션 간에 데이터를 교환하는 데 널리 사용되고 있습니다. 이러한 API 설계 접근 방식은 간결하고 확장 가능한 API를 만들기 위한 좋은 지침을 제공합니다.
'개발 기초 다지기' 카테고리의 다른 글
알고리즘 문제 정리 (최대공약수와 최소공배수) (0) | 2024.06.11 |
---|---|
JWT/인증 미들웨어 복습(팀프로젝트와 회고하며 복습하기) (0) | 2024.06.10 |
Prisma로 데이터베이스 스키마 변경하기 (0) | 2024.06.06 |
알고리즘 문제 풀이 (부족한 금액 계산하기, 문자열 다루기 기본, 행렬의 덧셈) (0) | 2024.06.04 |
효율적인 응답 메세지 관리 (message.constant.js 파일 이용하기) (1) | 2024.06.03 |
댓글