API는 Application Programming Interface의 약자로 똑같은 함수를 다시 만들 필요 없이 원하는 기능의 라이브러리 함수를 사용함으로써 보다 효율적인 프로그래밍이 가능하게 하고 라이브러리에 접근하기 위한 규칙들을 정의한 것을 말합니다.
또한 우리가 필요한 데이터베이스에 직접적으로 접근을 하는 게 아니라 API가 매개체가 되어 데이터베이스에서 데이터를 가져와주고 데이터를 넣어주는 역할을 합니다.
API를 들어보셨다면 그다음으로 들어보셨을 단어가 바로 REST API입니다.
API는 과거에 HTTP 형식을 따르지 않고 만들었지만 최근에는 HTTP 규약을 잘 따른 API를 만들기 시작했는데 그게 바로 REST API입니다. 그렇다면 RESTful API는 어떤 걸까요? REST API 보다 더 HTTP 규약을 잘 지킨 API를 말합니다.
HTTP 규약
head | 1. 통신상태(status code) 2. 응답형태(Content-Type) |
body | 1. 화면 or 받은데이터 2. 요청+ 목적 ( 전체상품보기 + "조회" ) |
위 표처럼 head에는 통신상태와 응답형태가 들어간다면 body에는 정적페이지에서는 화면이나 데이터를 보여줄 것을 작성하고 동적페이지에서는 내가 어떤 목적을 가지고 어떤 요청을 하는지에 대해서도 작성을 해줍니다.
이때 요청은 어떻게 하는 것일까요? 바로 URL을 통해서 요청을 할 수 있습니다. 우리가 URL을 웹페이지가 어디에 있는지 알려주는 위치라고만 배웠는데요 두 번째로는 데이터 연산을 위해 서버에 요청하는 것에도 사용이 됩니다.
그렇다면 우리는 어떻게 URL을 작성해야 서버에게 요청을 할 수 있는지 궁금하실 텐데요, pathname을 통해서 요청을 할 수 있습니다. 기본적인 모습은 이렇습니다. http://localhost:3000/products/display
주소에서(localhost:3000) 상품들을(products) 보여주세요(display)
이처럼 주소를 읽었을 때 어떤 페이지인지 확인이 가능하다면 REST 하게 API를 잘 짰다고 말할 수 있습니다.
REST API URL 규칙을 익히고 간단한 예제를 통해서 URL 작성을 익혀봅시다.
REST API URL 규칙
- 대문자는 사용하면 안 됩니다.
- _(언더바) 사용하지 않고 -(하이픈)은 사용가능합니다.
- 메서드(GET, POST, PUT, DELETE)를 포함하지 않습니다.(목적을 포함하지 않는다)
- 파일 확장자는 포함하지 않는다.
- 복수형으로 작성한다. (~들 중에 id값을 가지는 하나, 그리고 통일감을 위해서)
- 마지막 /는 작성하지 않는다.
이 규칙을 토대로 아래의 표 내용을 변경해 봅시다.
<변경 전>
내용 | 목적 | 주소 |
상품등록 | POST | http://localhost:3000/post product |
전체상품조회 | GET | http://localhost:3000/select_all_products |
개별상품조회 | GET | http://localhost:3000/select_product |
전체상품삭제 | DELETE | http://localhost:3000/DeleteAllProducts |
<변경 후>
내용 | 목적 | 주소 |
상품등록 | POST | http://localhost:3000/products |
전체상품조회 | GET | http://localhost:3000/products |
개별상품조회 | GET | http://localhost:3000/products/1 |
전체상품삭제 | DELETE | http://localhost:3000/products |
'개발지식' 카테고리의 다른 글
code refactoring (0) | 2023.12.12 |
---|---|
라이브러리와 프레임워크 (0) | 2023.12.05 |
CS[Computer Science]가 무엇일까? (0) | 2023.12.05 |
REST API와 RESTful API (0) | 2023.12.05 |
프론트엔드와 백엔드 그리고 웹서버 (0) | 2023.12.04 |