REST API와 RESTful

hyekyeong Song·2020년 3월 9일
1
post-custom-banner

이전에 인턴하면서 처음으로 웹 프로젝트를 해보며 REST에 대해 알게되었다.
그리고 그때 수행한 과제를 다시 보고있자니 매우😀제대로 이해하지 못했던걸 알게되었다.ㅋㅋㅋ
얼마나 엉망으로 했는지 비교해보면서... 정리를 하고자 한다.

그래서 일단

REST가 뭘까

REST란 이미지, 텍스트와 같은 모든 자원에 고유 ID인 HTTP URI를 부여해서 HTTP Method로 해당 자원에 대하여 CRUD를 적용하는 것이다.

  • 장점 : HTTP 표준 프로토콜을 따르는 모든 플랫폼에서 사용할 수 있다.
  • 단점 : 표준이 없다.

REST API

REST API란 REST 기반으로 서비스 API를 구현하는 것이다.
만일 게시물 1번에 대해 삭제를 수행할 경우 DELETE 방식으로 HTTP Method가 표현될 것이고, URI는 /board/1 과 같은 방식으로 표현이 된다.

행위에 대한 동사표현은 URI에 표현하지 않는 것이 핵심이다.

이전에 Postman으로 간단하게 테스트 해봤던 기록들을 끌고 와볼까유?

1) 게시판에 글을 작성한다 (C)

HTTP Method : POST
U

2) 게시판 글을 읽는다 (R)

HTTP Method : GET
R

3) 게시판 1번 댓글을 수정한다 (U)

HTTP Method : PUT
C

4) 게시판 1번 글을 삭제한다 (D)

HTTP Method : DELETE
D

RESTful

RESTful은 REST를 REST답게 쓰자 이런 말인데 이전 했던 프로젝트의 잘못된 코드예시로 보면 좀 더 쉽게 알수 있다.
RESTful 예시1

위 코드에서 잘못된 점은

  • POST방식으로 삭제 기능을 구현한 것
    주석으로도 "상품정보를 삭제한다"라고 해놓고 POST방식으로 처리했다.
  • URL에 행위(remove)를 사용한 것

이후에 다른 프로젝트에서는 아래와 같이 이를 개선시켰다.

@DeleteMapping으로 올바른 API를 사용했으며 URL에 동사를 포함시키지 않았다.

이외에도 RESTful이라는 것에 대한 좋은 글들은 아주 많다.
아래 링크들을 참고하면 좋을 듯 하다.
당신의 API가 RESTful 하지 않은 5가지 증거
REST API 제대로 알고 사용하기

profile
안녕하세요😀😀
post-custom-banner

0개의 댓글