본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Backend.DevLog/RESTAPI

REST API란?

by 케리's 2021. 11. 10.

 

API?

API(Application Programming Interface)

소프트웨어 프로그램(애플리케이션) 내부에 존재하는 기능 및 규칙 집합

프로그램을 쉽게 만들 수 있도록 화면 구성, 프로그램 동작에 필요한 각종 함수 모아 놓은 것

 

 

 

 

REST ?

REST를 기반으로 만들어진 API REST API(Representation State Transfer)

: 자원을 표현으로 구분하여 해당 자원의 정보를 주고받는 모든 것

즉, 자원(resource)의 표현(representation)에 의한 정보전달

  • 자원 : 해당 소프트웨어가 관리하는 모든 것 (문서, 그림, 데이터, 해당 소프트웨어 자체 등)
  • 자원의 표현 : 예를 들어 DB의 학생 정보가 자원일 경우, 'students'를 자원의 표현으로 지정
  • 정보전달 : 데이터가 요청되는 시점에 자원의 정보 전달 (JSON, XML)

 

RESTful API?

웹에서 사용 되는 데이터나 자원을 HTTP URI 표현, HTTP 프로토콜을 통해 요청과 응답 정의하는 방식

REST 특징을 지키면서 API 를 제공하는 것

즉, HTTP통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식

  • GET, POST 등의 방식(Method)를 사용하여 요청 보냄
  • 요청을 위한 자원은 특정한 형태(Representation of Resource)으로 표현

 

 

 

ex)

게시글을 작성하기 위해

http://localhost:8080/board 라는 URI에 POST방식을 사용하여 JSON형태의 데이터 전달

즉, CRUD 연산에 대해 요청을 할 때

요청을 위한 Resource(자원 URI)와 이에 대한 Method(행위, POST), Representation of Resource(자원의 형태, JSON)을 사용하면 표현이 명확해지므로 이를 REST라 하며,

이러한 규칙을 지켜 설계된 API를 REST API, RESTful한 API라고한다.

 

 

 

 

 

 

 

[출처] SpringBoot REST API, 'RESTful API란?'|작성자 토찌

 

댓글