1. 먼저 API란?
API란, Application rogramming Interface, 인터넷과 통신할 때 통신 규약... 이건 알필요 없고!!
웹개발에서 API란, 서버와 클라이언트간의 소통방법 == 어떻게 해야 서버와 통신할 수 있을까? 이거만 알면된다.
app.get("/write", function (req, res) {
res.sendFile(__dirname + "/write.html");
});
어떤 사람이 /write로 접속했을 때 글 쓸 수 있는 페이지를 갖다준다 => 이게 바로 API
이걸 REST하게 짜면 보기도 좋고 관리도 좋은 API를 만들 수 있다.
2. 그렇다면 REST는?
HTTP 요청 시스템(GET, POST, PUT, DELETE) REST원칙에 의해서 쓰면 인터넷 세상이 평화로워짐 ㅎㅎ 이 원칙이 뭐냐면,
1. Uniform interface
간결하고 일관적으로 작성해라.
- 하나의 자료는 하나의 URL로
- URL 하나를 알면 둘을 알 수 있어야 함
- 요청과 응답은 정보가 충분히 들어있어야 함
2. Client-Server 역할구분
두 관계를 명확히 해라.
- 브라우저는 요청만 할 뿐
- 서버는 응답만 할 뿐
3. Stateless
고객이 요청할 때, 요청1과 요청2는 의존성이 없어야 함. 독립적이어야 함.
(여기서부턴 별로 안중요)
- Cachealble
- 서버에서 보내주는 정보들은 캐싱이 가능해야 함
- 캐싱을 위한 버전 같은 것도 관리 잘해야 함(실은 브라우저가 잘해줌)
- Layered Style
- Code on Demand
1번만 잘지켜도 좋은 API만들 수 있다.
좋은 REST API 예시
www.example.com/products/66432
instagram.com/explore/tags/kpop
facebook.com/natgeo/photos/
url을 보고 예측이 가능함
이름짓기 원칙:
- 명사로 작성추천 (동사를 쓰면 안되는건 아님, 동사는 되도록 get/put/update/put)로 해결)
- 하위문서를 나타낼 땐 /
- 파일확장자(.html) 쓰지말기
- 띄어쓰기는 대시(-)이용
- 자료 하나당 하나의 URL (나머지는 쉬워서 생략)
'node js' 카테고리의 다른 글
[Node.js] CRUD 구현하기 (Feat.ToDo 리스트) (0) | 2022.03.24 |
---|---|
[Node.js] Node로 DB 연결하기 (0) | 2022.03.23 |
[Node.js] 노드 웹프로젝트 시작하기 (0) | 2022.03.14 |