본문 바로가기
개념/etc

RESTful API

by Hwanii_ 2023. 10. 25.
728x90

1. API 란?

Application Programming Interface : 두 어플이 서로 통신 하는 방법을 정의

 

 

 

2. RESTful 이란 ?

REST + FUL

REST 아키텍처 스타일 요청과 응답을 하는 API 를 뜻함

 

 

 

3. REST 아키텍처의 개념은 왜 생겨났을까 ?

 

REST에 기반이 되는 HTTP 프로토콜

프로토콜 : 클라이언트와 서버 간의 데이터를 주고 받기 위해 사용되는 표준 규약

 

 

이렇게 HTTP 프로토콜이 표준화 되어 있긴 하지만, 이를 어떻게 구현 해야 할지는 유연 하기 때문에,

개발자마다 이를 어떻게 해석 하는지에 따라 구현이 달라지게 된다.

 

그래서, 개발자마다 각자 다른 방식으로 구현을 하게 되면 복잡해지고 유지보수가 어려워지게 된다.

 

따라서, 웹 (HTTP) 의 장점을 최대한 활용 할 수 있는 REST 아키텍처가 생겨 나게 되었다.

 

 

 

4. REST 란 ?

REpresentational State Transfer >>  표현 / 상태 / 전달

 

즉, 자원을 이름 (표현) 으로 구분하여 자원의 상태 (정보) 를 전달 하는 것을 의미 한다.

 

자원은 URI 로 구현이 되고, >> /aaabbc/abc

 

상태는 HTTP 메서드로 구현 되고, >> GET / POST / PUT / PATCH / DELETE

 

표현은 요청 헤더에 담겨서 구현이 된다. >> text/html, image/gif, text/*

 

표현은 클라이언트가 어떤 타입으로 응답 데이터를 받을지 정하는 것을 의미 한다.

 

 

 

5. 규칙

 

자원 (URI) :

1) 슬래시 ( / ) 구분자를 통해 자원 간의 계층 관계를 나타 낸다.

 

2) 언더바 대신 하이픈을 사용 한다. 

( _ ) >> X

 

( - ) >> O

 

3) 소문자 사용 하기.

 

4) URI 의 마지막에는 슬래시를 작성 하지 않는다.

(아무런 정보가 없으므로 작성 하지 않음)

 

상태 (HTTP METHOD) :

 

1) GET : 조회

 

2) DELETE : 삭제

 

3) PUT : 리소스 업데이트 (정보가 없으면 테이블에 null 값이 들어 간다)

 

4) PATCH : 리소스 업데이트 (정보가 없으면 테이블에 기존 정보가 유지 된다)

 

5) POST : 리소스 생성

반응형

'개념 > etc' 카테고리의 다른 글

Quartz / Crontab / Cron 표현식  (1) 2024.01.24
SOA / ESB / OSGI  (0) 2024.01.24
WebService / SOAP / WSDL / EAI  (0) 2024.01.24
Servlet & Spring MVC  (0) 2023.10.27
Ajax  (1) 2023.10.25