전 포스팅에서는 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

 

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를 이용하여 데이터를 넣어보겠습니다.

 

POST
결과
결과

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

 

get을 이용하게 되면 우리가 원했던 findAll 즉 모든 데이터를 가져오게 됩니다.

 

전 포스팅에 이어 model, controller, router 등을 이용하여 Sequelize 사용법에 대해 간단하게 알아보았습니다.

고생하셧습니다

 

Github

 

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

+ Recent posts