Over the limit

DRF(Django Rest Framework) 란 본문

Web

DRF(Django Rest Framework) 란

ellapk 2021. 9. 7. 11:40

DRF(Django Rest Framework)란

Django에서 RESTful API 서버를 쉽게 구축할 수 있도록 도와주는오픈 소스 라이브러리 이다.

REST? RESTful? 그게 뭔데?

RESTful = Representational State Transfer 라는데 이게 더 어렵다.

 

 

그냥

 

REST = HTTP URL + HTTP Method (GET,POST,PUT,DELETE)를 사용하여 API를 더 잘 쓸 수 있도록 도와주는 프레임워크

 

라고 기억하자.

스마트폰이 나오기 전 예전에는 웹, 즉 HTML로 서버면 충분했지만 이젠 JSON, XML과 같은 별도의 API서버가 필요하다.

따라서 오늘날 이러한 REST를 사용하게 된 것이다.

 

 

 

Django에 있는 View클래스가 어떻게 생긴지 다들 알고 있는가?

class RestTestView(View):



    def __init__(self):

        pass

    def get(self, request):

        a = request.GET.get('a')

        b = request.GET.get('b')

        return JsonResponse({'a' : a, 'b' : b })



    def post(self, request):

        return JsonResponse({'result' : 'bad request' })

 

이 클래스는 RESTful한 서버를 만들기에 가장 좋다. 그래서 DRF을 사용하는 것이고..

Django에서 HTTP Methos(GET,POST,PUT,DELETE)를 구현하면 응답은 HTML이 아니라 JSON/XML로 응답한다.

 

 

 

 

Serializer

Serializer를 처음 보는 사람들은 이게 뭔가 싶을거다

Serilalizer는 말그대로 직렬화다. 여기서 무엇을 직렬화 한다는 말이냐? 사용자 DB의 이름, 이메일, 성별 등을

직렬화 하는 것이고, 앞에서 말했듯이 이 항목들도 JSON/XML로 직렬화가 된다.

from django.contrib.auth.models import User, Group
from rest_framework import serializers


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email', 'groups']


class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group
        fields = ['url', 'name']

 

 

 

 

 

 

 

 

Quickstart - Django REST framework (django-rest-framework.org)

 

Quickstart - Django REST framework

We're going to create a simple API to allow admin users to view and edit the users and groups in the system. Create a new Django project named tutorial, then start a new app called quickstart. # Create the project directory mkdir tutorial cd tutorial # Cre

www.django-rest-framework.org

 

DRF(Django Rest framework) 소개 (tistory.com)

 

DRF(Django Rest framework) 소개

DRF(Django Rest framework) 소개 DRF(Django Rest Framework, http://www.django-rest-framework.org)란 Django 안에서 RESTful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈 소스 라이브러리이다. RESTful..

yunhookim.tistory.com

 

'Web' 카테고리의 다른 글

[스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 2장  (0) 2022.04.07
JPA 사용에 대하여  (0) 2022.03.31
React 컴포넌트 , props, state  (0) 2021.09.25
docker-compose.yml  (0) 2021.09.15
API vs Framework vs Library  (0) 2021.09.07