django로 개발하시다 보면 현재 가장 인기있는 데이터 형식인 json을 다루는 강력한 툴인 Django REST framework(이하DRF)를 한번 씩은 접해보셨을 겁니다.
DRF는 Django 프로젝트를 통해 RESTful한 API를 쉽게 만들 수 있게 도와주는 파이썬 패키지입니다.
DRF의 주요 기능으로
Serialization(직렬화): db의 모델이나 쿼리셋을 JSON 또는 다른 형식으로 변환하는 직렬화 기능을 제공합니다. 이 기능을 통해 더 쉽게 데이터를 json 형태로 보내 줄 수 있습니다.
Viewsets 및 Serializers: DRF에서 Viewsets와 Serializers를 사용하여 API의 엔드포인트와 데이터 변환을 정의합니다. Viewsets는 데이터를 가져오거나 업데이트하는 방법을 정의하고, Serializers는 데이터의 직렬화와 역직렬화를 처리합니다. 위 기능을 통해 front와 통신으로 받은 데이터를 더 쉽게 처리 할 수 있습니다.
Authentication 및 Permissions: DRF는 다양한 인증 및 권한 체계를 제공하여 API 엔드포인트에 대한 접근을 제어할 수 있습니다. 사용자가 인증되지 않았을 때 또는 특정 권한이 없을 때의 동작을 정의할 수 있습니다.
Routers: DRF는 URL 패턴을 쉽게 관리하기 위한 Routers를 제공합니다. 이를 사용하면 API 엔드포인트를 정의하고 URL을 자동으로 생성할 수 있습니다. 귀찮은 url 관리를 코드 한 줄로 관리 할 수 있을 수 있습니다.
Browsable API: DRF는 브라우저에서 API를 쉽게 테스트하고 디버깅할 수 있도록 Browsable API를 제공합니다. 이는 웹 브라우저에서 API를 직접 호출하고 결과를 시각적으로 확인할 수 있도록 합니다.
Third-party Packages: DRF는 다양한 기능을 제공하는 다양한 서드파티 패키지와 통합할 수 있습니다. 예를 들어, 토큰 기반의 인증을 위한 djangorestframework-simplejwt, 라이트한 API 문서화를 위한 drf-yasg 등이 있습니다.
위의 2개 기능은 공부하면서 알게 된 기능으로 아직 사용해보지 못한 기능이지만 추후 사용 계획입니다.
저는 이렇게 강력한 기능을 가진 DRF를 잘 다루기 위해 공식문서를 보며 tutorial을 따라가는 과정을 가질 것입니다.
'Django > restframework' 카테고리의 다른 글
DRF docs API Guide Responses (0) | 2024.01.12 |
---|---|
DRF docs API Guide Request (0) | 2024.01.09 |
DRF tutorial - 3 Class-based Views (0) | 2024.01.02 |
DRF tutorial -2 requests and responses (0) | 2024.01.02 |
DRF tutorial -1 serialization (0) | 2023.12.28 |