Dev/Basic

[REST] REST API

隣席の開発者群 2023. 4. 27. 10:08
반응형

어제의 글에 이어서 REST API / RESTful API 에 대한 이야기를 해볼까 한다. 

1. REST API?

2023.04.26 - [Arch] - [REST] REST

REST API는 윗 글에서 설명한 REST 의 규칙을 지켜서 만든 API를 의미한다. 

해당 규칙을 적용하면서 또 명확히 제시하는 설계 지침? 같은게 있는데 한번 보도록 하자. 

 

1) URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.

찾아본 예시들이 "동사보다는 명사" 이 부분에 잘 안맞는 것 같은데, "동사보다는 명사" 라는 말보단 특정한 가공 없는 본래의 단어 그대로를 쓰자는 말과 같다고 느껴진다. 

예를 들면 run 과 같은 단어를 진행형, 동명사, 3인칭, 과거형 이런 가공 없이 run 그대로 쓴다는 느낌이 강하다. 

ex)
https://opendotadev.tistory.com/manage => 좋은 예시
https://opendotadev.tistory.com/managing => 나쁜 예시

2) 마지막에 "/" 를 포함하지 않는다.

이건 사실 개발을 하다 url의 끝에 / 가 붙어있으면  브라우저 콘솔창에 warning 이라며 마지막 슬래시 지우라는 경고성 로그가 뜨게 되는데, 그 warning을 강박적으로 자주 지우려고 하는 나에겐 그렇게 의식이 되는 규칙은 아니다. 

ex)
https://opendotadev.tistory.com/manage => 좋은 예시
https://opendotadev.tistory.com/manage/ => 나쁜 예시

3) 언더바('_') 대신 하이픈('-')을 사용한다.

개발 한지 얼마 되진 않았지만 파일이름들을 보다보면 꽤 많은 개발자들이 언더바를 애용하고 있다는 느낌이 든다. 

언더바를 사용하지 않고 하이픈으로 대체하는 것이 REST API의 규칙에 맞다고 한다.

ex)
https://opendotadev.tistory.com/new-post => 좋은 예시
https://opendotadev.tistory.com/new_post => 나쁜 예시

4) 파일확장자는 URI에 포함하지 않는다.

말 그대로다 .xlsx, .jpg 이런거 쓰지말잔 뜻이다.

ex)
https://opendotadev.tistory.com/image => 좋은 예시
https://opendotadev.tistory.com/image.jpg => 나쁜 예시

5) 행위를 포함하지 않는다.

다른 블로그들의 글을 보니 행위를 포함하지 않는다 라고 적혀있었는데, 

행위를 포함하지 않는다고 해서 동사? 이렇게 생각하지 말고 HTTP Method를 사용해서 하는 CRUD를 포함하지 않는다고 생각하면 될 것 같다. 

create, update, read, delete이런거 쓰지말잔 뜻이다. 

 

2. RESTful API?

자 이제 REST API에 대해서 알아봤다. 근데 한가지 벽이 더 있다. 그 와중에 또 ful을 붙여놓고 앉았다. 

그냥 말 그대로 REST 규칙 정말 잘 지킨 모범적인 형태가 RESTful API라고 보였다. 

REST의 규칙을 적용하고는 있으나 제대로 적용하지 않았거나 잘못 이해하여 적용하였다는 등으로 사실 상 규칙에 어긋나는 것이라면 RESTful 하지 못하다고 하게 되는 것이다. 

LIST

'Dev > Basic' 카테고리의 다른 글

[Git] Git  (0) 2023.06.12
[HTTP] HTTP  (0) 2023.04.27
[REST] REST  (0) 2023.04.26
[Arch] MSA || Monlolithic  (0) 2023.04.18
[FRONT] DOM  (0) 2023.04.17