어제의 글에 이어서 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 하지 못하다고 하게 되는 것이다.
'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 |