이전에 인턴하면서 처음으로 웹 프로젝트를 해보며 REST에 대해 알게되었다.
그리고 그때 수행한 과제를 다시 보고있자니 매우😀제대로 이해하지 못했던걸 알게되었다.ㅋㅋㅋ
얼마나 엉망으로 했는지 비교해보면서... 정리를 하고자 한다.
그래서 일단
REST란 이미지, 텍스트와 같은 모든 자원에 고유 ID인 HTTP URI를 부여해서 HTTP Method로 해당 자원에 대하여 CRUD를 적용하는 것이다.
REST API란 REST 기반으로 서비스 API를 구현하는 것이다.
만일 게시물 1번에 대해 삭제를 수행할 경우 DELETE 방식으로 HTTP Method가 표현될 것이고, URI는 /board/1 과 같은 방식으로 표현이 된다.
행위에 대한 동사표현은 URI에 표현하지 않는 것이 핵심이다.
이전에 Postman으로 간단하게 테스트 해봤던 기록들을 끌고 와볼까유?
HTTP Method : POST
HTTP Method : GET
HTTP Method : PUT
HTTP Method : DELETE
RESTful은 REST를 REST답게 쓰자 이런 말인데 이전 했던 프로젝트의 잘못된 코드예시로 보면 좀 더 쉽게 알수 있다.
위 코드에서 잘못된 점은
이후에 다른 프로젝트에서는 아래와 같이 이를 개선시켰다.
@DeleteMapping으로 올바른 API를 사용했으며 URL에 동사를 포함시키지 않았다.
이외에도 RESTful이라는 것에 대한 좋은 글들은 아주 많다.
아래 링크들을 참고하면 좋을 듯 하다.
당신의 API가 RESTful 하지 않은 5가지 증거
REST API 제대로 알고 사용하기