Django 안에서 RESTfulAPI 서버를 쉽게 구축할 수 있도록 도와주는 오픈 소스 라이브러리
데이터를 요청하고 전달하는 과정에서 클라이언트와 서버 간의 매개체 역할을 한다.
즉, API는 서비스 창구처럼 작동하여 데이터를 특정 형식에 맞게 전달한다.
REST는 HTTP 프로토콜을 기반으로 자원을 관리하는 아키텍처 스타일이다.
REST 설계 원칙을 기반으로 만들어진 Web API를 RESTful API라고 한다.
이를 통해 프론트엔드와 백엔드가 효율적으로 소통이 가능하다.
Json은 데이터를 자바스크립트 객체 형태로 송수신하는 가벼운 문자열 데이터 표현식이다.
{
"name": "name",
"age": 25,
"gender": "female",
"address": "address 25",
"specialty": ["coding", "drf"]
}
Django의 DB 모델 데이터를 JSON 형태로 변환하는 역할을 한다.
# models.py
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
# serializers.py
from rest_framework import serializers
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ['title', 'content']
# views.py
from .serializers import ArticleSerializer
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Article
class ArticleView(APIView):
def get(self, request):
queryset = Article.objects.all()
serializer = ArticleSerializer(queryset, many=True)
return Response(serializer.data)
# result
[
{
"title": "hello",
"content": "big world"
}
]