django-rest-framework(DRF)뭐야?

DRF는 장고프레임워크를 사용해 api를 간단하게 만들 수 있는 프레임워크다. aws를 해본사람은 알겠지만, api gateway같은 걸 장고프레임워크를 통해 자작, 커스터마이징한다고 생각하면 된다.

그런데, 간단히 사용할 수 있는 api프레임워크도 많다. 가령 flask 같은 거. 실제 현재 로컬 개발 중 flask를 통해 api를 반환시키고 있다. DRF는 왜 사용되는 걸까?

각종 사이트에서 소개하는 django-rest-framework(DRF)를 사용하는 이유

django-rest-framework공식 홈페이지에서 설명하는 DRF를 사용하는 이유

Django REST framework is a powerful and flexible toolkit for building Web APIs.

Some reasons you might want to use REST framework:

data-flair에서 설명하는 DRF를 사용하는 이유https://data-flair.training/blogs/django-rest-framework/

DRF makes it easier for a developer to debug their APIs. The other big feature of DRF is that it converts the Models into serializers. What we have done in this Django REST Framework tutorial is simply made classes and extended them with built-in classes. If we needed to have this kind of architecture, we would need so much more code in place. DRF made it so easy for us to serialize data.
 
The serializers not only take our models and transmit them as JSON objects. They also provide data from users to the backend. They automatically clean the data or validate data. This is a plus from DRF. Cleaned data removes all the security issues.
 
Believe me, the security provided by DRF is well established. Django REST Framework has many more features than explained here. They go well beyond the scope of just Django. You will need a better understanding of APIs and REST architecture. It is not so difficult but will take time.

내가 개인적으로 생각하는 DRF를 사용하는 이유

  1. serialize가 편하게 된다. 이거 편하다.
  2. api gateway는 managed서비스 이기 때문에 여러가지 중요 기능들이 사용자도 모르는 사이에 이미 잘 구현되어 있습니다. 가령, validation이나 security같은 것들이죠. 이걸 일일이 개발자가 구현해 api를 만든다고 하면 꽤나 복잡해집니다. validation이나 security같은 고급 기능 없이 flask는 단순히 http request를 패싱해주는 기능만 합니다. 여기에 validation이나 security기능들을 붙인다고 생각하면 개발자의 부담은 상당히 늘어나게 됩니다.
  3. rest api를 개발 하는데 있어서, rest api 규약을 지킬수 있도록 편리 기능들을 제공해줍니다.

+ Recent posts