TIL 웹개발 - RESTful API란?
RESTful API는 웹 서비스 개발에서 많이 사용하는 아키텍처 스타일 중 하나입니다. Django에서는 Django REST Framework(DRF)를 이용하여 쉽게 RESTful API를 구축할 수 있습니다. RESTful API와 Django에 대해 이해하는 데 도움이 될 만한 개념들을 아래에 설명할게요. 1. RESTful API란? REST(Representational State Transfer)는 자원을 네트워크 상에서 정의하고 자원에 대한 주소를 지정하는 아키텍처 스타일입니다. RESTful API는 이 REST 원칙을 따르는 API를 의미합니다. RESTful API의 주요 특징: 자원(리소스) 기반: REST는 모든 것을 자원으로 간주합니다. 예를 들어, 사용자, 게시물, 댓글 등이 자원으로 표현됩니다. HTTP 메서드 사용: CRUD 작업을 HTTP 메서드로 매핑합니다. GET: 자원의 조회 POST: 자원의 생성 PUT: 자원의 전체 수정 PATCH: 자원의 부분 수정 DELETE: 자원의 삭제 URL 설계: 자원은 고유한 URL로 접근됩니다. 예를 들어, GET /users/는 사용자 목록을, GET /users/1/은 특정 ID를 가진 사용자를 조회합니다. 무상태성: REST API는 무상태성을 유지해야 합니다. 즉, 서버는 각 요청을 독립적으로 처리하며, 이전 요청의 상태를 기억하지 않습니다. 표준화된 응답: 주로 JSON 형식으로 데이터를 주고받습니다. 2. Django에서 RESTful API 구현하기 Django REST Framework (DRF): Django에서 RESTful API를 쉽게 구축할 수 있도록 도와주는 라이브러리입니다. DRF는 직렬화, 인증, 권한 부여, 요청 처리 등의 기능을 제공합니다. 핵심 컴포넌트: Serializer: Django 모델 인스턴스를 JSON으로 직렬화하거나, JSON 데이터를 모델 인스턴스로 역직렬화하는 역할을 합니다. ViewSet: API의 논리를 처리하는 뷰를 그룹화한 것입니다. DRF에서는 일반적으로 ViewSet을 사용하여 CRUD 기능을 구현합니다. Router: ViewSet과 URL을 자동으로 연결해주는 역할을 합니다. 이를 통해 RESTful URL 패턴을 쉽게 설정할 수 있습니다. 예시 코드:
- 서경태