REST API

박진우·2023년 6월 25일
0

정의

REST API(REpresentational State Transfer API)란 네트워크 애플리케이션(웹 등)을 설계할 때 사용하는 아키텍쳐 모델이다. REST API는 자원(URI), 행위(HTTP Method), 표현 의 세 구성 요소로 이루어진다.

특징

  • 무상태성
    REST는 무상태성 성격을 갖는데, 이는 다시 말해 작업을 위한 상태정보를 따로 저장하거나 관리할 필요 없이 API에서는 들어오는 요청만 받아서 처리하면 되는 장점이 있다.
  • 자체 표현 구조
    REST API 메시지만 보고도 이것이 무슨 작업을 실행하는 지 직관적으로 알 수 있는 장점이 있다.

이 외에도 많은 특징과 장단점이 있지만 이해가 힘들어서 여기까지만 쓰겠다.

규칙

REST API를 설계할 때 지켜야할 규칙이 몇 가지 있다. 이 규칙을 지켜야 더 효율적인 API 설계가 가능하다. 이 중에서도 특히 URI에 대한 규칙이 많기에 그 규칙만 서술해보면

  • URI는 정보의 자원을 표현해야 한다. 이 말은 리소스명에서 동사보단 명사를 사용해야 한다는 말로, 동작을 표현할 때에는 HTTP Method에 작성을 하는 것이 맞다.
    잘못된 예)
    POST /users/delete/jwp
    위는 리소스에서 delete라는 동사를 사용했으므로 잘못된 구조이다.
    옳은 예)
    DELETE /users/jwp
    위는 HTTP Method로 행위를 표현했기에 옳은 구조이다.

  • 리소스에서는 대문자를 사용하지 않는다. URI에서는 대소문자 구분을 하기에 사용자가 원하는 사이트로 접속하지 못할 수도 있다.
    잘못된 예)
    POST /Users/jwp
    옳은 예)
    POST /users/jwp

  • URI에서 언더스코어_는 사용하지 않는다. 언더스코어는 글꼴에 따라 보이지 않는 경우나 보이더라도 눈에 잘 띄지 않는 경우가 있기에 가독성이 떨어진다. 때문에 언더스코어 대신에 하이픈-을 사용한다.
    잘못된 예)
    https://velog.io/write?id=536f8062_dc8d_42a3_92cd_adc8f30f8b16
    옳은 예)
    https://velog.io/write?id=536f8062-dc8d-42a3-92cd-adc8f30f8b16

profile
SRIHS Infosec

0개의 댓글