Django REST API 정리[1]

YulHee Kim·2021년 1월 15일
2

django-REST-framework

목록 보기
1/3
post-thumbnail

💡REST API란?

REST : Representational State Transfer
API : Application Programming Interface

  • 자원(resource)의 대표의 상태를 전달

  • REST API를 통해 REST 서버는 API를 제공, 클라이언트는 사용자 인증이나 컨텐스트(세션, 로그인정보)등을 직접 관리하는 구조로 각각의 역할이 확실히 구분되기 때문에 클라이언트와 서버에서 개발해야 할 내용이 명확해지고 서로간 의존성이 줄어들게 된다.

  • 데이터베이스 내부의 자료를 직접 전송하는 것이 아니라 HTML, XML, JSON와 같은 데이터 형태를 통해 제공하게 되고, 사용자들이 접근할 수 있게 되는 것

💡 필요성

👍프론트앤드 개발자와의 협업을 위한 것
👍 급격하게 높아지는 코드의 재활용성 -> 생산성 상승

  • 한개의 API가 프론트엔드에서 여러개의 페이지에 이용된다.
  • views.py에서 하나의 템플릿에 하나의 클래스,함수가 호출되던 것과는 다르다.

:: 실제 django rest api를 개발하며 React와 안드로이드 앱 간의 협업을 진행해 보았을 때 백엔드 개발에 굉장히 편리함을 느꼈음!

💡REST API의 구성

자원(RESOURCE) - URI
행위(Verb) - HTTP METHOD
표현(Representations)

[참고]HTTP METHOD의 알맞은 역할
POST, GET, PUT, DELETE 이 4가지의 Method를 가지고 CRUD를 할 수 있습니다.

다음과 같은 식으로 URI는 자원을 표현하는 데에 집중하고 행위에 대한 정의는 HTTP METHOD를 통해 하는 것이 REST한 API를 설계하는 중심 규칙.

출처 :: https://meetup.toast.com/posts/92

장점 - [ 강력한 직렬화 ]

예전 REST API를 개발하며 포스트맨으로 실행 여부를 판단해본 예시

🛠 설치

1. install using pip

pip install djangorestframework
pip install django-filter

2. Add 'rest_framework' to your INSTALLED_APPS setting.

INSTALLED_APPS = [
...
'rest_framework',
]

3. Add the following to your root urls.py file.

urlpatterns = [
...
path('api-auth/', include('rest_framework.urls'))
]

다음은 제가 실제 개발했던 코드 분석을 해보겠습니당~

profile
백엔드 개발자

0개의 댓글