본문 바로가기
카테고리 없음

REST API 간단하게 이해하기

by 태옹 2021. 8. 16.

REST : Representational State Transfer = 표현 / 상태 / 전달

표현 = HTTP URL

상태 전달 = HTTP Method

 

API : Application Programming Interface

 

API에 대한 이해

정보 사용자정보 제공자간에 호출응답이 이루어지는 것, 프로토콜 세트.

API는 사용자가 원하는 요청을 시스템에 전달할 수 있게 지원하고, 해당 요청을 이해하고 이행할 수 있게 함.

 

API는 사용자와 제공자와의 중간다리 역할

ex) 날씨 서비스 API

사용자 : 우편번호를 제공 (호출)

제공자 : 최고기온과 최저기온에 대한 정보를 제공 (응답)

 

 

API의 장점

1. 리소스(제공자)와 정보(사용자)를 공유할 수 있음

- 위의 예시에서는 우편번호(정보)를 제공하면 기온에 대한 정보를 제공(리소스)받기 때문에 정보의 공유가 이루어짐

 

사용자의 요청이 들어오면, 리소스라는 정보더미에서 해당 요청에 맞는 정보를 반환

리소스는 복수개의 엘리먼트가 모인 컬렉션의 형태로 존재하게 됨

출처 : 생활코딩 REST API 강의 영상

2. 권한을 가진 사람만이 액세스 가능하도록 함, 조직이 보안 및 제어에 대해 관리가 가능함

- 공공API를 사용할 때 보면 먼저 API사용에 대한 권한을 요청하고 승인받은 사용자에게 API의 링크가 주어지는 경우가 있음

- 액세스 권한을 어떻게, 누구에게 제공할지 여부만 결정하면 됨

 

3. 리소스 검색 방법 또는 리소스의 출처에 대한 지식이 없이도 사용자가 사용할 수 있음

 


 

RESTful API에 대한 이해

 

REST API는 우체국 송장 양식 같은 것 (형식)

'형식'이라는 키워드에 초점을 맞출 것!

어떤 기술이나 제품이 아니라, 형식이기 때문에 어떤 언어를 쓰든 상관이 없음

특정 기술을 의미하는 것이 아니기 때문!

 

 

각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능하게 함

 

예를 들어, https://(사이트도메인)/1이라는 주소가 '클래스 정보 리스트 출력' 기능을 수행한다고 할 때, 사실 만드는 개발자의 입장에서는 잘 수행하기만 하면 그만이겠지만, 인수인계를 받는 개발자나 혹은 해당 API를 사용해서 다른 제품을 만들 개발자들은 해당 주소만을 보고 이 API가 어떤 기능을 수행하는지 쉽게 파악하기 어려움

 

RESTful하게 만든 API는 요청을 보내는 주소 만으로도 대략 이 기능에 대한 파악이 가능함

https://(사이트도메인)/classes/2/students?sex=male 라는 주소가 있다면 '2반에 소속된 남학생들의 정보를 출력'하는 요청을 전달했다는 것을 파악할 수 있음

 

 

서버에 REST API로 요청을 보낼 때에는 HTTP 규약에 따라 신호를 전송

HTTP메소드 중 GET, POST, DELETE, PUT (,PATCH)를 사용하여 작성함

- GET : 상세 정보 출력

- POST : 정보 추가

- PUT/PATCH : 정보 수정 (PUT은 정보를 통째로 변경, PATCH는 일부를 특정 방식으로 변경하는 경우 사용)

- DELETE : 정보 삭제

 


참고자료

https://www.redhat.com/ko/topics/api/what-is-a-rest-api

 

REST API(RESTful API, 레스트풀 API)란 - 서버, 구현, 사용법

REST API(RESTful API)란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다. api 서버, rest api 구현 및 사용법을 설명합니다.

www.redhat.com

https://www.youtube.com/watch?v=iOueE9AXDQQ 

 

댓글