Django

REST API

개발자 페이지

 

 

 

 

API란?

  • 이제 카카오 API를 활용하여 카카오 사용자 계정 정보를 가져올 일만 남았습니다.
  • 그 전에 API가 무엇인지에 대해 간략하게 설명하도록 하겠습니다.
     
  • API : Application Programming Interface
     
  • 즉, 응용 프로그램을 사용할 수 있도록 인터페이스를 제공한다 정도로 생각하시면 될 것 같습니다.
     
  • 우리가 어떠한 기능을 구현하기 위해 혼자 처음부터 작업을 하는 것은 굉장히 어려운 작업일 수 있습니다.
    시간과 노력, 지식이 필요한 작업일 수 있으며, 이는 혼자 개발하는 데에 큰 난관으로 다가옵니다.
     
  • 그래서 누군가가 미리 개발해 놓은 기능들을 개발 문서를 보고 가져와서 사용할 수 있게 만들어 놓은 것입니다.

    또한 기업 측에서 제공하는 서비스를 이용하여 개발을 하는 경우 당연히 일반 개발자가 기업 서비스에 접근할 수 있는 권한도 없으며 방법도 모를 것입니다.
    따라서 기업 측에서도 개발자들이 자사의 서비스를 활용하여 개발할 수 있도록 방법을 마련해주는 것입니다.

     
  • 참고)
    API란? https://ko.wikipedia.org/wiki/API

 

 

 

 

 

Kakao Developers

  • 우리는 카카오 계정을 이용할 것이므로 카카오 개발자 페이지에 들어가보도록 합시다.
  • [개발가이드]에 들어갑니다.

 

  • 여러가지 API를 제공하고 있는 것을 볼 수 있습니다.
  • [REST API 개발가이드]에 들어갑니다.

 

 

 

 

 

REST API란?

  • 여기서 잠깐 REST API에 대해 간단히 보고 넘어가도록 합니다.
  • REST : Representational State Transfer
  • API : Application Programming Interface

 

  • API에 대해서는 위에서 살펴보았으니 REST 영어를 해석하여 봅시다.

    Representational : 대표적인
    State : 상태
    Transfer : 전달

    정도로 해석될 수 있을 것 같습니다.
     
  • 해석한 것을 조금 더 풀어써서 '자원(resource)의 대표의 상태를 전달'이라고 말하도록 하겠습니다.
     
  • 먼저, '자원'은 우리가 앞으로 다룰 데이터 또는 그것을 포함하는 시스템 전체를 의미할 수도 있습니다.
    여기서는 일단 우리가 앞으로 가져와야할 사용자 계정 이름, 프로필 이미지라고 생각하도록 합시다.
    그 자원들은 카카오 서버 어딘가 데이터베이스에 저장을 해놓고 있을 것입니다.
    그 서버 데이터베이스를 아무나 접근해서 데이터를 수정할 수 있으면 안 될 것입니다.

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

    참고)
    JSON이란? https://ko.wikipedia.org/wiki/JSON
    XML이란? https://ko.wikipedia.org/wiki/XML
     
  • '전달'은 방금 말했듯이 사용자가 접근할 수 있도록 전달하는 것입니다.
  • '상태'란 만약 우리가 자원을 프로필 이미지를 요청을 했다고 가정했을 때, 그 요청한 시점에서의 프로필 이미지 데이터 상태 정보를 의미하게 됩니다.

 

  • [REST API 개발가이드]에 들어갔을 때, 카카오에서는 다음과 같이 설명하고 있습니다.

 

본 문서는 카카오 플랫폼 서비스의 다양한 기능을 HTTP 요청으로 활용할 수 있는 REST API에 대해 설명하며

 

  • 따라서 REST를 정리해본다면 우리가 어떠한 자원에 직접 접근하는 것이 아닌 이러한 자원의 대표라고 부를 수 있는 JSON, XML, HTML과 같은 데이터 자원의 위치를 명시해두면(URI: Uniform Resource Identifier) HTTP 상에서의 요청을 통해 접근할 수 있도록 한다는 의미가 되겠습니다.

 

 

 

 

 

 

댓글

댓글 본문
버전 관리
KNUT X LIKE LION
현재 버전
선택 버전
graphittie 자세히 보기