(DRF) - RESTFUL API?
# Restful API Django
REST란? REpresentational State Transfer
- HTTP를 이용해 통신하는 네트워크상에서 정한 약속
- 분산 하이퍼미디어 시스템을 위한 소프트웨어 설계 형식
- 자원을 대표하는 단어 / 식별자로 자원의 상태를 전송하는 방법
- 자원을 이름으로 구분하여 상태를 전송하는 방법
- 하위 호환을 깨뜨리지 않고 독립적 발전할 수 있게 도와주는 방법
REST 필요충분조건?
- Server - Client
- STATELESS
- Cache
- Uniform Interface
- Layered System
- Code-On-Demand
API란? Application Program Interface
특정방식으로 response나 request를 보내는 형식
RESTAPI란? REST 아키텍쳐 스타일을 따르는 API
HTTP로 CRUD를 구현할 수 있는 API?
-> JSON : 모든 태그가 만들어져 있는 것도 아님 만든 이가 정의하기 나름 -> RESTFUL하지 못함
현재의 RESTFUL API?
Self-Description (x) HATROAS(x) -> 잘 지켜지지 않고 있다!
JSON 직렬화 - Serializer
(Model)Form vs (Model)Serializer
| Django | Serializer |
|---|---|
| Form/ModelForm | Serializer/ModelSerializer |
| Model로 부터 Field 읽어옴 | = |
| 유효성검사 | = |
| HTML Form | JSON 문자열 |
코드
1 | $ pip install djangorestframework #REST설치 |
settings.py
1 | #settings.py |
app/urls.py
1 | from django.urls import path, include |
app/views.py
1 | from rest_framework import viewsets |
serializer.py <=> forms.py
1 | from .models import Post |
실행화면
Comment





