[ Computer Science ]/Web & Network

[Web/Network] REST API란?

HSRyuuu 2023. 7. 19. 13:19

REST (Representational State Transfer : 자원의 상태 전달)

  • 자원(resource)의 표현(representation)에 의한 상태 전달
  • URI를 통해 자원을 명시하고, HTTP Method를 통해 자원에 대한 CRUD 처리 방법 지정
    • Create : 생성(POST)
    • Read : 조회(GET)
    • Update : 수정(PUT)
    • Delete : 삭제(DELETE)

REST API

REST 기반으로 서비스 API를 구현한 것이다.

마이크로 서비스, Open API 등에서 사용된다.

  • 마이크로 서비스 : 마치 객체지향에서 작은 기능을 분리하듯이, 단일 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 소프트웨어 개발 기법이다. 
  • Open API : 누구나 사용할 수 있도록 공개된 API

Restful API

Restful은 REST의 원리를 잘 따르는 시스템을 말한다.

개발자들 사이에서 비공식적으로 지향하고 하는 REST 구현 가이드이다.

(출처) velog.io/@seokkitdo

example

  • [GET] /users : 전체 user 목록을표시
  • [GET] /users/123 : id=123인 user 표시
  • [POST] /users : 신규 user 생성(등록)
  • [PUT] /users/123 : id=123인 user의 정보 수정
  • [DELETE] /users/123 : id=123인 user 삭제

RESTful의 목적

  • 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것

REST를 잘 사용했는지(Restful 한지) 판단 기준

  1. 자원의 식별
  2. 메시지를 통한 리소스 조작
  3. 자기 서술적 메시지
  • 기능에 맞는 HTTP Mehod 사용
  • URL 규칙
    • 마지막에 ' / '을 사용하지 않는다.
    • underbar( _ )를 사용하지 말고, dash( - )를 사용해라.
    • 소문자 사용
    • 행위를 URL에 포함하지 않는다.
      -> (ex) /users/insert/123 (x)  ,  [POST] /users/123  
반응형