전 포스팅에서는 app.js 와 /database/models 부분에서 간략하게 알아보았는데영
이번에는 localhost:3000/user 을 이용하여 RESTFul API 를 이용하여 POST GET 정도 해보겠습니다.
// /controllers/user.js
// db 가져오는 부분
const db = require("../database/models");
const User = db.User;
exports.create = (req, res) => {
// 만약 id 값이 없다면
if (!req.body.id) {
res.status(404).send({
messgae: "id can not be empty!",
});
return;
}
// user 객체를 간단하게 만들어 id, pw, email 정보를 넣어줍니다.
const user = {
id: req.body.id,
password: req.body.password,
email: req.body.email,
};
// sequelize 의 create 함수를 써서 데이터를 생성해줍니다.
User.create(user)
.then((data) => {
res.send(data);
})
.catch((err) => {
res.status(500).send({
message: err.message,
});
});
};
exports.findAll = (req, res) => {
User.findAll().then((data) => res.send(data));
}
위 코드는 controllers user 부분 입니당
create 부분과 findAll 을 구현했습니당
Sequelize 의 Model Querying 문법 문서들은 다음 링크를 통해 알아볼수있습니당.
Model Querying - Basics | Sequelize
Sequelize provides various methods to assist querying your database for data.
sequelize.org
나중에 기회가 된다면 CRUD 정도 Sequelize에 관하여 더 올려보겠습니당.
이제 Router 부분을 보겠습니다.
// /router/index.js
const express = require("express");
const router = express.Router();
const user = require("./user");
router.use("/user", user);
module.exports = router;
// /router/user.js
const express = require("express");
const router = express.Router();
const userController = require("../controllers/user");
/* Customer */
/* Create a new Customer */
router.post("/", userController.create);
// Retrieve all Customer
router.get("/", userController.findAll);
module.exports = router;
사용자 또는 postman 으로 lcoalhost:3000/user 으로 매핑하게 되면 라우터를 거쳐서 get 또는 post를 통해 우리가 원하는 결과를 받아올수 있게 만듭니다.
postman을 이용하여 restful post를 이용하여 데이터를 넣어보겠습니다.



다음과 같이 데이터가 잘 들어가는걸 볼수있습니당.

get을 이용하게 되면 우리가 원했던 findAll 즉 모든 데이터를 가져오게 됩니다.
전 포스팅에 이어 model, controller, router 등을 이용하여 Sequelize 사용법에 대해 간단하게 알아보았습니다.

고생하셧습니다
GitHub - GangOn0215/node-orm-sequelize-example: 블로그에 강좌용 으로 포스팅 하기 위한 git repository
블로그에 강좌용 으로 포스팅 하기 위한 git repository. Contribute to GangOn0215/node-orm-sequelize-example development by creating an account on GitHub.
github.com
Reference
https://victorydntmd.tistory.com/27
https://sequelize.org/docs/v6/core-concepts/model-querying-basics/#simple-insert-queries
https://kyounghwan01.github.io/etc/sequelize/sequlize-basic-example/
'BackEnd > Node.js' 카테고리의 다른 글
[GCP VM 인스턴스] Node.js 설치 및 실행 (0) | 2022.07.24 |
---|---|
[ GCP VM 인스턴스 ] 기본 셋팅 (0) | 2022.07.23 |
[ ORM ] Sequelize - Migration (0) | 2022.04.29 |
[ ORM ] Sequelize - Seeders (0) | 2022.04.26 |
[ ORM ] Sequelize - 1 (0) | 2022.04.25 |