REST API

강다빈·2023년 11월 12일
0

backend

목록 보기
4/5

REST(Representational State Transfer)

휴식이 넘치는 api인줄..
자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태를 주고받는 모든 것

  • 자원 : 해당 소프트웨어가 관리하는 모든 것
  • 자원의 표현 : 그 자원을 표현하기 위한 이름
    • DB의 학생 정보가 자원, ‘students’ : 자원의 표현
  1. HTTP URI(Uniform Resource Identifier)를 통해 자원 명시
  2. HTTP Method(POST, GET, PUT DELETE, PATCH 등) → 자원(URI)에 대한 행위(Verb)
  3. 해당 URI에 대한 CRUD Operation을 적용
💡 **CRUD :** 컴퓨터 SW가 가지는 기본적인 데이터 처리 기능. Create(POST), Read(GET), Update(PUT, PATCH), Delete(DELETE)

REST 구성 요소

  • 자원, 행위, 페이로드

특징

  • Server-Client
  • Stateless(무상태)
  • Cacheable(캐시 처리 가능)
  • Layered System(계층화)
  • Uniform Interface(인터페이스 일관성)

장점

  • HTTP 프로토콜 인프라 → 별도의 인프라 구축 x
  • 프로토콜의 표준을 최대한 활용, 여러가지 장점을 함께 가져갈 수 있음.
  • http를 따르는 모든 플랫폼에서 활용 가능
  • Hypermedia API의 기본을 지키며 범용성 보장
  • REST API 메시지가 의도하는 바를 명확하게 나타냄 → 의도하는 바를 쉽게 파악 가능
  • 서버와 클라이언트 역할 명확히 분리
  • 여러가지 서비스 디자인에서 생길 수 있는 문제 최소화

단점

  • 표준 정의 필요
  • http method 형태가 제한적임
  • 브라우저 테스트가 많은 서비스라면 url보다 헤더 정보 값 처리 → 전문성 요구됨
  • 구형 브라우저 호환 x → 익스플로러

REST API

REST의 원리를 따르는 API

  1. 명사, 소문자
http ://kchabin.velog/spring-boot
  1. 마지막 슬래시 x
  2. 언더바 대신 하이픈
  3. 파일 확장자 포함 x
  4. 행위 포함 x

RESTful

REST API의 설계 규칙을 올바르게 지킨 시스템.

예) 모든 CRUD 기능을 POST로 처리하거나 URL 규칙을 제대로 지키지 않은 API는 REST API를 사용하였으나 RESTful 하지 못한 시스템이다.

참고 링크

profile
SKT DEVOCEAN YOUNG 2기, Kubernetes Korea Group

0개의 댓글

관련 채용 정보