Dev/Django

Django Rest Framework

sincerely10 2020. 8. 24. 00:27
반응형

안녕하세요. Django 카테고리로 포스트를 작성해보겠습니다.

이번에는 Django를 사용한다면 많이 들어봤을 Django REST Framework(이하 DRF)를 간략하게 소개 해보겠습니다.

1. DRF란 무엇인가?

앞서 정의한 약자 대신 DRF가 실제로 어떤 역할을 하는지를 살펴보겠습니다.

먼저 Django에서 RESTful한 API를 생성하기 쉽게 도와주는 역할을 합니다. 그렇다면 도대체 어떤역할을 하는지 더 자세히 보겠습니다. 참고로 DRF도 Django가 설치되어야 실행됩니다. 즉 별개의 module이 아닌 python 위에서 수행된다는 것 입니다.

1.1 json의 De/Serialization을 지원한다.

DRF를 사용하는 이유 중 하나입니다. Serialization/Desearialization(직렬화/역직렬화)는 JSON Format과 Django에서 사용하는 데이터 Format과 이뤄집니다.

Django의 data -> JSON Format으로 변경하는 것을 Serialization이라고 합니다. 사용자(Client)가 보는 화면은 JavaScript의 Front End에서 최종적으로 처리한 데이터를 보여주는데 이 데이터가 JSON Format이어야 하는데 DRF의 seriallizer가 이 형태로 Data를 return 해주는 것 입니다.

또 다른 장점은 정확하지 않은 Dictionary형 데이터을 검증할 수 있다는 것 입니다. 즉 정확하지 않은 request를 검증하므로 보안에 도움을 줄 수 있습니다. 이 과정은 Deserialization을 통해 이뤄집니다.

1.2 Authentication, routing과 같은 모듈이 제공된다.

DRF를 사용하지 않으면 직접 정의 해주어야 하는 기능을 모듈의 정의로 손 쉽게 사용할 수 있습니다.

반응형