[DRF] Serialization이란?

🌟DRF Serialization

🎯DRF란?

Django 내에서 RESTful api 서버를 구축하게끔 해주는 라이브러리입니다.

🎯Serialization이란?

한 환경이 다른 환경과 데이터 객체를 주고받기위해선 동일한 데이터 구조를 갖추어야 하므로, 형식을 맞추어주는 절차가 필요합니다. Serialization 즉 직렬화란 이 데이터 형식을 맞추어 주는 것을 의미합니다. 프로그래밍 언어끼리의 통신이라면 byte형으로, HTTP 통신이라면 주로 XML이나 JSON 형식으로 변환합니다.

+) Deserialization Serializer로 변환하여 받은 문자열 형식의 데이터를 다시 원래의 데이터로 변환하는 것을 Deserializer(역직렬화) 라고 합니다.

🎯DRF Serializer

Serializer는 Model(DB)에 저장되어있는 쿼리셋이나 모델인스턴스등의 데이터 객체를 API 통신에 적합한 JSON, XML와 같은 문자열 형식으로 변환시켜줍니다. 이를 통해 연속적이지 않던 데이터 객체를 변환하며, 변환한 데이터들을 파일형태로 저장합니다. 이렇게 Serializer을 통해 변환된 데이터들은 타 환경으로 전송할 수 있게 됩니다. Serializer는 데이터를 변환한다는 점에서 form과 유사하지만 form 은 데이터를 HTML로 변환시켜주고 serilaizer은 JSON 문자열로 변환해준다는 차이점을 가집니다.

🎯왜 JSON을 쓰는걸까?🤔

  1. 데이터를 전송할 때 최소한의 용량으로 전달하게 해줍니다.
  2. 대부분의 언어가 JSON 포맷의 데이터를 다룰 라이브러리를 제공합니다.
  3. JSON 내에서 데이터 타입을 가지므로 수용할 수 있는 데이터 타입이 다양합니다.
  4. javascript에서 객체접근이 쉬우므로 javascript기반인 웹이나 API에 데이터를 제공할때 좋습니다.

참고1 참고2 참고3 참고4


Written by@이주형
平常心

GitHubFacebook