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란?'|작성자 토찌
'|Backend.DevLog > RESTAPI' 카테고리의 다른 글
RESTAPI 게시판 만들기 (3)_git, notion (0) | 2021.11.29 |
---|---|
RESTAPI 게시판 만들기 (2)_Mysql연동, 페이지생성 (0) | 2021.11.16 |
RESTAPI 게시판 만들기 (1)_Django연결 (0) | 2021.11.15 |
HTTP 란? (0) | 2021.11.10 |
댓글