DRF Restful API
Section 1. 백엔드와 프론트엔드
1. 백엔드 프론트엔드 분리 전
- 백엔드가 response로 페이지 전체 코드(html)를 전달
- 모든 request에 대한 응답으로 페이지를 새로 생성
2. 백엔드 프론트엔드 분리 후
- 백엔드가 response로 데이터만을 전달 (Json, XML 형식 등)
- 백엔드는 비지니스 로직에만 집중 가능하고 프론트엔드는 할 수 있는 동작이 다양해짐
3. 백엔드 프론트엔드 분리 구현
- RESTful API 를 이용하여 프론트엔드와 백엔드는 data만을 주고 받을 수 있음 (json 형식)
- Ajax 기술 구현 가능
Section 2. API
1. API (Application Programming Interface)
컴퓨팅 시스템끼리 의사소통하는 매개체(통신규약)
- API 정의서(설명서) - 존재하는 api를 이용하기 위한 규칙을 정의하고 있음
- API 사용자 - 원하는 서비스를 api 형식(정의서)에 맞게 요청하는 측
- API 제공자 - api 서비스를 구축하고 응답하는 측 (서버 프로그램 등)
2. API 예시
- 카카오 맵 API - 해당 가이드에 맞게 api 서비스 요청 메시지를 보내면 map 서비스를 제공받을 수 있음
3. API 정의 범위
- API 의 동작 과정
① 정해진 규칙에 맞게 요청 메시지를 보냄
② 해당 규칙에 맞는 미리 정의된 비지니스 로직이 수행됨
③ 서비스 결과를 응답 메시지로 보냄
- api가 위와 같은 순서로 동작할 때 넓은 개념으로 접근하면, 보통의 웹 동작 방식이라고 볼 수 있으며 라이브러리 함수의 호출 및 사용과도 비슷하다고 볼 수 있기 때문에 거의 모든 방식을 api 라고 생각함
(정의된 함수를 '호출'하여 그 함수에 대한 기능을 사용 또는 제공 받는 것이므로)
Section 3. REST
1. REST (Representational State Transfer)
HTTP URI를 통해 자원(Resource)을 구분 및 표현(Represent)하고, HTTP Method(POST, GET, PUT, DELETE)로 해당 자원에 대한 CRUD Operation을 적용하기 위해 Json 형식 파일로 상태 정보(State)를 표현(Represent)하여 주고 받는(Transfer) 통신 프로토콜
2. REST 구성 요소
- 자원 (Resource) - URI로 표현되는 자원 (ex /user/{userId})
- 행위 (Verb) - HTTP Method(POST, GET, PUT, DELETE)
- 표현 (Representation) - 자원에 대한 상태 정보를 표현 (CRUD 요청에 대한 응답이라고 보면 됨)
3. REST 6가지 원칙
① Uniform Interface
② Stateless
③ Cacheable
④ Self-descriptiveness
⑤ Client-Server
⑥ Hierarchy structure
4. REST URI 설계 원칙
Section 4. RESTful API
1. RESTful API
REST의 기본 개념 및 원칙을 지키며 수행되는 API 서비스
2. DRF (Django Rest Framework)
Django로 웹을 구현할 때 REST 기술(RESTful api)을 손쉽게 구현하도록 지원하는 프레임워크
3. DRF 설치
pip install djangorestframework
- settings.py app 등록
Author And Source
이 문제에 관하여(DRF Restful API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/DRF-Restful-API저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)