Django/Django+API

API 개념 및 DJANGO에서의 활용

김마드 2020. 2. 1. 11:06

API 간단 개념

 

장고에서는 템플릿, 뷰, 모델을 활용하여 프론트엔드와 백엔드 모두 구현이 가능했다. 하지만 이렇게 설계하는 것의 문제점은 프론트엔드와 백엔드 모두 장고에서 구현되었기 때문에 분할 작업이 어렵다는 것이다. 따라서, 현재 거의 모든 프로젝트들에서는 API를 도입하여 프론트엔드와 백엔드의 선을 확실히 긋고 따로 개발하고 있다.

 

특히, 최근에는 IOS 및 안드로이드 기반 디바이스들이 많이 나오고 있는데, 각 디바이스에 맞게 클라이언트를 구성해 주어야 한다. 이 때 필요한게 API 이다. (1개의 동일한 서버를 여러 클라이언트에 서비스 가능)

 

현재 대부분의 API는 REST API를 따르고 있는데, 여기서 API의 개념먼저 간단히 정리해보자.

 

API는 서버쪽(백엔드) DATA를 클라이언트(프론트엔드) 부분에 응답해줄 때 이를 연결해주는 역할이라고 보면 된다.

 

서버쪽 DATA는 JSON 형식으로 클라이언트에 반환 되며, 클라이언트에서는 JSON 형식으로 된 DATA를 프론트언어에 맞게 사용자에게 보여준다. URL 주소를 통해 서버쪽 DATA에 접근 할 수 있다.

 

REST API에는 몇 가지 규정이 있다.

 

1) 동사 사용 금지

2) 명사 및 복수형 사용

3) ? 사용

 

DJANGO에서의 활용 개념

 

장고에서는 DJANGO REST FRAMEWORK 라는 것을 지원해주고 있다. 장고에서의 서버 DATA, 즉 MODELS에 있는 DATA는 QUERYSET으로 구성 되어 있는데, 이를 JSON화 시켜줄려면 serializer를 해주어야 한다. 그리고 serializer된 값을 다시 파이썬 객체로 인식하기 위해서는 deserializer 를 해주어야 하는데, 이때 도움을 주는 것이 DJANGO REST FRAMEWORK 이다.

 

구체적인 내용은 다음 주제에서 다루겠다.