etc

REST API란? (GET, POST, PUT, DELETE)

15호의 개발자 2021. 9. 27. 16:48
반응형

REST API란?

REST API 또는 RESTful API는 REST 특징을 지키면서 API(애플리케이션 프로그래밍 인터페이스)를 제공하는 것을 뜻하며, HTTP 프로토콜의 장점을 살릴 수 있는 네트워크 기반의 아키텍처이다.

 

 

REST란?

REST는 REpresentational State Transfer의 약자로, HTTP 프로토콜에 있는 Method를 활용한 아키텍처 스타일이다.

HTTP Method를 통해서 Resource를 처리하며, CRUD를 통한 resource 조작을 할 때 사용한다.

 

REST의 특징은 아래와 같다.

  • Uniform Interface
  • Client-Server
  • Stateless
  • Cacheable
  • Layered System
  • Code on Demand(optional)

 

 

HTTP Method

HTTP Method 동작 URL 형태
GET 조회(SELECT*READ) /user/{id}
POST 생성(CREATE) /user
PUT / PATCH 수정(UPDATE)*CREATE /user
DELETE 삭제(DELETE) /user/{1}

GET 메서드의 경우 /user/ 뒤에 주소를 path parameter나 query parameter로 받는다.

 

 

 

1. HTTP - GET Method

- 주소 창에 파라미터가 노출된다.
  ex. www.google.com/search?id=abcd
- 브라우저에서 주소에 대한 캐시가 이루어지므로 다음 번에 똑같은 요청을 할 때 캐시된 값을 빠르게 가져올 수 있다.

Spring Boot를 통한 GET 메소드 사용법은 아래 링크에 자세히 나와있다. 

 

[Spring Boot] Get 메소드 사용법 (@RequestMapping, @GetMapping, 멀티 파라미터, JSON 리턴)

[Spring Boot] Get 메소드 사용법 (@RequestMapping, @GetMapping, 멀티 파라미터, JSON 리턴) @RequestMapping import org.springframework.web.bind.annotation.*; @RestController // controller임을..

unit-15.tistory.com

 


2. HTTP - POST Method

- 주소 창에 파라미터가 노출되지 않는다. 그렇기 때문에 GET에 비해서는 상대적으로 보안이 높다.
  ex. www.google.com/search
- 주소 창에 사용자의 요청 사항이 노출되지 않는다.
- GET 방식에서는 주소 길이 제한이 있지만 POST는 그보다 길게 사용 가능하다.(제한은 존재함)
- 브라우저가 주소 캐시를 하지 못하는 특성이 있다.

Spring Boot를 통한 POST 메소드 사용법은 아래 링크에 자세히 나와있다. 

 

[Spring Boot] Post 메소드 사용법 (@PostMapping)

[Spring Boot] Post 메소드 사용법 (@PostMapping) 이 게시글은 아래 글과 이어진 글이다. [Spring Boot] Get 메소드 사용법 (@RequestMapping, @GetMapping, 멀티 파라미터, JSON 리턴) [Spring Boot] Get 메..

unit-15.tistory.com

 


3. HTTP - PUT/PATCH Method

- POST와 마찬가지로 body에 데이터가 들어 있으며, 주로 업데이트에 사용한다.

 


4. HTTP - DELETE Method

- GET과 마찬가지로 주소에 파라미터가 들어가며, 데이터를 삭제할 때 사용한다.


반응형