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과 마찬가지로 주소에 파라미터가 들어가며, 데이터를 삭제할 때 사용한다.
'etc' 카테고리의 다른 글
순서도(Flow Chart) 도형 종류 (아키텍처, UML 다이어그램) (0) | 2021.11.27 |
---|---|
1의 보수, 2의 보수란? (0) | 2021.11.11 |
개발자 도구 > Network > 'No throttling'의 의미? (스로틀링) (0) | 2021.09.05 |
초간단! 깃허브에 프로젝트 도메인 만들기 (웹서버 호스팅, GitHub Pages) (0) | 2021.08.30 |
[VS Code] 단어 한 번에 바꾸기 (0) | 2021.08.20 |