[서버] CRUD 란? + CRUD와 REST

1. CRUD 란?
Create, Read, Update, Delete의 약어로 데이터베이스 등의 시스템에서 데이터를 관리하는 기본적인 기능을 의미한다.
CRUD 개념은 웹시스템 뿐만 아니라 거의 모든 시스템에서 적용된다.
2. DB와 CRUD
CRUD는 데이터베이스 명령이다.
1. Create (생성)
새로운 데이터를 생성한다. 데이터베이스에 새로운 테이블 및 객체를 생성하는 작업.
2. Read (읽기)
데이터를 조회한다. 데이터베이스에서 데이터 검색, 읽어오는 작업
3. UPDATE (갱신, 수정)
기존 데이터를 수정한다. 수정하는 것은 갱신이다.
4. DELETE (삭제)
데이터 삭제. 데이터베이스에서 레코드 삭제하는 작업.
3. REST API 와 CRUD
REST API는 클라이언트와 서버 간의 HTTP 프로토콜을 이용하여 REST 형식을 따르는 API를 의미한다.
*REST
(Representational State Transfer)- 자원을 이름으로 구분하여 자원의 상태(정보)를 주고 받는 것을 의미함.
1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resources)을 명시하고
2. HTTP Method (POST / GET / PUT / DELETE / PATCH )를 통해
3. 해당 자원 (URI)에 대한 CRUD를 적용하는 것을 의미한다!
즉, REST 를 통해 두개의 서버가 전세계의 데이터를 교환할 수 있게 된 것이다.
*REST 호환 시스템 : RESTful 시스템 (REST 방식을 따르는 시스템.)
- Rest는 표준 API 아키텍처 이고, CRUD는 함수 형식이다.
1. Create (생성)
- HTTP 메서드: POST
(body에 데이터 포함시킴(post니까))
예시: 새로운 사용자를 생성하는 경우
- 요청: POST /users
- 요청 본문(body): 새로운 사용자의 정보를 포함하는 JSON 또는 XML 데이터
- 응답: 새로운 사용자의 ID와 함께 성공 메시지 또는 적절한 상태 코드 (예: 201 Created)
2. Read (읽기)
HTTP 메서드: GET
- 예시: 모든 사용자 목록을 가져오는 경우
- 요청: GET /users
- 응답: 모든 사용자의 목록을 포함하는 JSON 또는 XML 데이터 또는 적절한 상태 코드와 함께 성공 메시지 (예: 200 OK)
3. UPDATE (갱신, 수정)
HTTP 메서드: PUT 또는 PATCH
-
- 예시: 특정 사용자의 정보를 업데이트하는 경우
- 요청: PUT /users/{id} 또는 PATCH /users/{id}
- 요청 본문: 업데이트할 사용자의 정보를 포함하는 JSON 또는 XML 데이터
- 응답: 적절한 상태 코드와 함께 성공 메시지 또는 업데이트된 사용자의 정보
- 예시: 특정 사용자의 정보를 업데이트하는 경우
4. DELETE (삭제)
HTTP 메서드: DELETE
-
- 예시: 특정 사용자를 삭제하는 경우
- 요청: DELETE /users/{id}
- 응답: 적절한 상태 코드와 함께 성공 메시지 또는 삭제된 사용자의 정보
- 예시: 특정 사용자를 삭제하는 경우
REST와 CRUD의 명령을 자세히 보면 둘 사이의 유사점이 있다는 것을 알 수 있다.
4. REST & CRUD 차이
REST는 HTTP 명령을 사용하는 자원을 중심으로 한 아키텍처 시스템이다. 즉 HTTP명령을 통해 데이터를 제어한다.
반면에 CRUD는 데이터베이스에서 레코드를 유지하기 위한 주기이다. 동시에 정보를 조작하는 방법이다.
둘의 기능은 유사하지만, 동일하진 않다.
- Rest는 표준 API 아키텍처 이고, CRUD는 함수 형식임을 기억하자.
* 깃허브 참고(idkim97.github)