Restful API 란?

YounGyeom·2021년 7월 21일
0

Network

목록 보기
1/1
post-thumbnail

프로젝트를 진행하며 각 요청에 맞는 Http method를 정하는 과정에서 Restful 한 API란 무엇인가에 대해서 고민하게 되었다. 그러면서 더 나아가 API는 무엇인지 파고들게 되었고 이 과정에서 알게 된 것들을 남에게 설명할 수 있을 정도로 깔끔하게 정리해두면 좋을 것 같아서 글을 쓰게 되었다.

API(Application Programming Interface) 란?

정의

응용 프로그램(애플리케이션)에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

역할

  1. 서버와 데이터베이스의 정보에 대한 접근 허용
    API는 데이터 베이스에 있는 주요 정보에 누구나 접근할 수 없도록 허용된 사람에게만 접근성을 부여한다. 따라서 한쪽 당사자가 특정한 방식으로 구성된 원격 요청을 보내면 다른 쪽 당사자의 소프트웨어가 이에 응답하는 방식을 가진다.

  2. 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할

  3. 모든 요청과 응답을 표준화
    API를 사용하면 기기/ 운영체제 등과 상관없이 누구나 동일한 결과를 얻을 수 있다. 따라서 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있다.

그럼 REST API (Representational State Transfer API) 는?

정의

HTTP URL로 정의된 자원(리소스)을 CRUD(CREATE, READ, UPDATE, DELETE)에 맞게 HTTP Method(POST, GET, DELETE, PUT)를 통해 적용한 것을 말한다.

구성요소

  1. 자원(Resource) : URI(엔드포인트)
    모든 자원은 고유한 ID가 있고, 이 자원은 서버에 위치하게 된다.
  2. 행위(Verb) : HTTP Method
    HTTP Method(POST, GET, DELETE, PUT)를 이용하여 자원에 대한 구체적인 조작을 요청한다.
  3. 표현(Representation of Resource) : 페이로드
    클라이언트(프론트)가 자원의 상태(정보)에 대한 조작을 요청하면 서버(백)는 이에 적절한 응답(Representation)을 보낸다.

REST API의 설계 원칙

이건 꼭 지키기

  1. URI는 명사를 사용하여 리소스를 표현하는 데 집중한다.
  2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)를 사용하여 CRUD를 구현한다.

나머지

  • /(슬래시)는 계층 관계를 나타낼때 사용한다.
  • URI 마지막 문자에 /(슬래시)를 사용하지 않는다.
  • URI은 자원을 표현해야하므로 동사가 아닌 명사를 사용한다.
  • URI에 파일의 확장자(예를들어 .json , .JPGE)를 포함 시키지 않는다.

Restful API ?

REST API 설계 규칙에 따라 만들어진 API를 Restful 한 API 라고 할 수있다. RESTful API는 그 자체만으로도 해당 API의 목적이 무엇인지 쉽게 알 수 있다.

Reference

API란? 비개발자가 알기 쉽게 설명해드립니다!

API(애플리케이션 프로그래밍 인터페이스)란

REST 서버, REST API란?

REST란? REST API란? RESTful이란?

API, REST API, RESTful API 개념정리

profile
keep it fresh!

0개의 댓글