#Node.js
프로젝트를 할 때 백엔드에서 API가 완료되어야 프론트에서 최종적으로 API를 통해 데이터를 받고,
가공해서 최종적으로 완성을 한다.
지금까지 수많은 API 통신을 했지만, API는 어떻게 만들까? 궁금하기도 했었다.
하지만 백엔드쪽을 들여다 볼 일이 없으니...그 동안은 API 로직을 몰랐지만!
풀스택 강좌를 통해서 작은 API 하나를 생에 처음으로 구현하게 됐다.
먼저, 이 API는 동영상을 끝까지 시청한 경우 View가 +1 되는 로직이고,
Video의 Model은 이미 구현이 되어 있는 상태이다.
// app.js
app.use(routes.api, apiRouter);
// apiRouter.js
import express from "express";
import routes from "../routes";
import { postRegisterView } from "../controllers/videoController";
const apiRouter = express.Router();
apiRouter.get(routes.registerView, postRegisterView);
export default apiRouter;
// videoController.js
export const postRegisterView = async (req, res) => {
const {
params: { id }
} = req;
try {
const video = await Video.findById(id);
video.views += 1;
video.save();
res.status(200);
} catch (error) {
res.status(400);
} finally {
res.end();
}
};
템플릿을 랜더하지 않는다. req에서 id를 전달 받고, 비디오를 찾은 후 views +1을 해주고 저장하는 로직이다.
API 는 이미 설계되어 있는 데이터베이스의 값만 변경하거나, 내려주는 용도로 사용한다.
이렇게 또 하나 배워간다!
'TIL' 카테고리의 다른 글
2020-08-04 Life Cycle (0) | 2020.08.04 |
---|---|
2020-07-09 Post Register API (0) | 2020.07.09 |
2020-07-06 Volume & Modal Router (0) | 2020.07.06 |
2020-07-02 Customize Video Player (0) | 2020.07.02 |
2020-07-02 Vue.js D-day Counter 공통 컴포넌트 (0) | 2020.07.02 |