REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위해 네트워크 상에서 자원을 쉽고 명확하게 식별하고 조작할 수 있게 도와주는 소프트웨어 아키텍처의 한 형식이다.
/goods URL로 사용할 수 있으며, 장바구니(Carts)는 /carts로 사용될 수 있을 것입니다.GET, POST 등등이 있다고 했었는데요. 이것으로 해당 자원에 대한 행위를 표현할 수 있습니다. → 예를 들어, GET메서드는 ‘조회(Read)’와 관련이 있으므로 데이터를 읽는 작업을 수행하며, POST메서드는 ‘생성(Create)’와 관련이 있으므로 새로운 데이터를 생성하는 작업을 수행합니다.생성/조회/수정/삭제를 각각의 method 로 나누어놓은 것이지요.Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT),(PATCH)
Delete : 삭제(DELETE)router.get('/books', (req, res) => {
res.json({ success: true, data: getAllBooks() });
});/books 라는 URL을 통해 전체 책 목록을 불러와 응답해 주는 역할을 하는 API입니다.GET은 리소스를 조회하는 역할을 담당하므로, 이 코드는 전체 책 목록을 조회(Read)하고, 그 결과를 JSON 형식으로 반환합니다. 이렇게 API가 “REST 원칙”에 따라 구현되었으므로, 이 API는 RESTful 하다 볼 수 있습니다.일반적으로 Router는 아래와 같은 구조를 가집니다.
router.**METHOD**(**PATH**, **HANDLER**);
router: Express.js의 라우터를 정의하기 위해 사용합니다.
METHOD: HTTP Method를 나타냅니다. (ex: get, post, put, patch, delete …)
PATH: 실제 서버에서 API를 사용하기 위한 경로를 나타냅니다. (ex: users, posts …)
HANDLER: 라우트가 일치할 때 실행되는 함수힙니다.
Postman, Insomnia 가 있습니다. 이 두가지의 API Client는 API 요청(Request)을 손쉽게 구성할 수 있고, 응답(Response)을 직관적으로 확인할 수 있게 도와줍니다.GET 에 대응하는 API를 구현하고, 웹 브라우저를 통해 확인해왔습니다. 그러나, 서버의 데이터를 조회하기 위해선 생성, 수정, 삭제와 같은 작업이 필요할 것입니다. 해당하는 작업을 수행하기 위해서는 POST, PATCH, PUT, DELETE 등의 Http Method를 사용하는 API를 개발하고 테스트 해야할 것입니다. 이런 상황에서 Terminal에서 명령어를 입력하거나, Html 파일을 생성하여, 각각의 API를 테스트할 순 있지만, 더욱 편리하게 서버에 보낼 데이터와 주소를 한번에 관리할 수 있는 API Client를 사용할 예정입니다. 🙂