프로그래머스 데브코스, 국비지원교육, 코딩부트캠프
오늘은 본격적으로 백엔드 개발에 들어가기 전 API에 대해 알아보는 시간을 가졌다. 백엔드 개발자라면 RESTful API를 설계해야하기 때문에 REST/RESTful API에 대한 이해는 필수적이라고 할 수 있겠다.
API
는 Application Programming Interface
의 약자다. 쉽게 표현하자면 라이브러리에 접근하기 위한 규칙을 정의한 것이라고 볼 수 있다.
먼저 REST API
에 대해 공부하기 전 REST
에 대한 이해가 필요하다.
REST
란 Representational State Transfer
의 약자로, 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이라고 한다.
그리고 이 REST 방식으로 설계한 API를 REST API
라고 한다.
REST API vs RESTful API
개발을 하다보면 RESTful API
라는 말을 많이 접하게 되는데, 여기서 RESTful API는 REST 규칙을 아주 잘 따른 API다.
소문자를 사용한다.
❌ /Product
⭕ /product
언더바(_)를 사용하지 않고 하이픈(-)을 사용한다.
❌ /find_pw
⭕ /find-pw
마지막에 슬래시(/)를 포함하지 않는다.
❌ /login/
⭕ /login
행위/목적을 포함하지 않는다.
❌ POST /login/post/product
⭕ POST /login/product
파일 확장자를 포함하지 않는다.
❌ /photo.png
⭕ /photo
복수형을 쓴다.
❌ /user
⭕ /users
오늘은 REST API에 대한 공부가 주를 이뤘다. 백엔드를 직접적으로 맡지는 않아서 팀원이 백엔드 개발을 할 때 어떤 식으로 설계를 하는지 본 게 다였는데 이렇게 공부하다보니 왜 팀원이 당시에 API 설계를 하면서 고민을 많이 했는지 알 것 같다...😂
내일부터 node.js와 npm에 대해서 공부하고 그리고 내일 모레부터는 본격적으로 express를 공부하게 되는 것 같다. node.js는 처음이라 걱정이 조금 많이 되지만... 그래도 한 번 열심히 달려보자!