Over the limit
DRF(Django Rest Framework) 란 본문
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 |