본문 바로가기
Software Development

REST API 와 CRUD

by KkingKkang 2023. 7. 17.

## REST

Representational State Transfer : 자원의 상태 전달 - 네트워크 아키텍처 

커뮤니케이션에 대한 간단하고 표준화 된 접근 방식이다. 데이터 형식, 요청 형식을 지정하는 방법이 표준화되어있다.


1. Client, Server : 클라이언트와 서버가 서로 독립적으로 분리되어 있어야 한다. 

2. Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다. 
ex) 햄버거 가게 치즈버거 주세요 → 치즈버거 하나와 콜라 주세요 → : 모든 요청에 대해서 새롭게 나가야 한다.

3. Cache : 클라이언트는 서버의 응답을 Cache(임시저장) 할 수 있어야 한다. 
- 클라이언트가 Cache를 통해서 응답을 재사용할 수 있어야 하며, 이를 통해서 서버의 부하를 낮춘다.

4. 계층화 ( Layered System) : 서버와 클라이언트 사이에, 방화벽, 게이트웨이, Proxy 등 다양한 계층 형태로 구성이 가능해야 하며, 이를 확장할 수 있어야 한다. 

5. 인터페이스 일관성 : 인터페이스의 일관성을 지키고, 아키텍처를 단순화시켜 작은 단위로 분리하여 클라이언트, 서버가 독립적으로 개선될 수 있어야 한다. 

6. Code on Demand(Optional) : 자바 애플릿, 자바 스크립트, 플래스 등 특정한 기능을 서버로부터 클라이언트가 전달받아 코드를 실행할 수 있어야 한다.

 

CRUD

  • CREATE - POST : 새로운 데이터 추가
  • READ - GET : 데이터 조회
  • UPDATE - PUT : 데이터 전체 수정 / PATCH : 데이터 일부 수
  • DELETE - DELETE : 정보 삭제 

REST API 설계

 

REST API의 구성 요소 

  1. HTTP Method
  2. URL - 데이터 접근
  3. Reprensetation - 자원의 표현 

 

REST API의 자원 표현을 위한 URL 설계 규칙

  • 슬래시 구분자는 계층 관계를 나타내는데 사용한다.
  • 마지막 문자로 슬래시를 포함하지 않는다
  • 소문자만 사용
  • 하이픈은 가독성을 높이는데 사용 -
  • 밑줄은 사용하지 않는다 _ 
  • 확장자를 표시하지 않음
  • 리소스 간에 연관 관계가 있는 경우 : /리소스명/리소스id/관계된 다른 리소스명
  • 동사 x 명사만 사용
  • 복수형 사용

 

반응형

'Software Development' 카테고리의 다른 글

객체 지향 OOP(Object Oriented Programming)  (0) 2023.03.29

댓글