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개의 댓글

관련 채용 정보