❗Rest
REST(REpresentational State Transfer)
자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것
자원(resource)의 표현(representation) 에 의한 상태 전달을 의미
✏️자원의 표현
-자원: 해당 소프트웨어가 관리하는 모든 것 ex) 문서, 그림, 데이터, 해당 소프트웨어 자체 등
-자원의 표현: 그 자원을 표현하기 위한 이름 ex) DB의 학생 정보가 자원일 때, 'students'를 자원의 표현으로 정함
-url만으로 이 API가 어떤 기능을 할 것인지 추측 가능
✏️상태(정보)의 전달
-URL로 데이터에 접근
-데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달
-JSON이나 XML을 통해 데이터를 주고 받음
-REST는 네트워크 상에서 클라이언트와 서버 사이의 통신 방식 중 하나
-HTTP(웹)에서 필요한 자원에 접근할 때 웹의 장점을 최대한 활용하기 위한 아키텍쳐
❗Rest 구조
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시
HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미
✏️URI
-URI(Uniform Resource Identifier)
-REST는 자원 기반의 구조(ROA, Resource Oriented Architecture) 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐
-웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 ID인 HTTP URI를 부여
✏️HTTP Method
![](https://blog.kakaocdn.net/dn/cp5oqA/btrPHx9whqg/SLzyDxuAyQGNF6tKNeh5y0/img.png)
GET: 데이터 조회 POST: 새로운 데이터 추가 PUT: 데이터 전체 수정 PATCH: 데이터 일부 수정 DELETE: 데이터 삭제
✏️CRUD Operation
Create : 생성(POST) Read : 조회(GET) Update : 수정(PUT) Delete : 삭제(DELETE) HEAD: header 정보 조회(HEAD)
❗RestfulAPI
Rest의 원리를 따르는 시스템으로 RestAPI의 설계 규칙을 정확하게 지킨 시스템만이 RESTFUL 하다고 할 수 있다
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
'🔻Back-End > Spring' 카테고리의 다른 글
[Spring] 스프링 프로젝트를 DB와 연결하기 (0) | 2022.10.29 |
---|---|
[Spring] @RestController 객체 data 바로 출력하기 (0) | 2022.10.27 |
[Spring error] localhost:8080에 로그인화면 보일 때 (0) | 2022.10.23 |
[Spring] Spring boot란 (0) | 2022.10.23 |
[Spring] Spring이란 (0) | 2022.10.23 |