Membangun API dengan Node.js Express Part 4: Membuat Route

1280px-Node.js_logo.svg_

Route merupakan bagian yang akan mengatur alur dari request yang masuk. Pada route kita mendefiniskan path yang akan diakses oleh user dan mengarahkannya ke fungsi yang sesuai di controller. Sekarang kita akan membuat route untuk proses autentikasi

Masukkan kode berikut ke app/routes/auth.route.js

const controller = require("../controllers/auth.controller");
module.exports = function(app) {
  app.use(function(req, res, next) {
    res.header(
      "Access-Control-Allow-Headers",
      "x-access-token, Origin, Content-Type, Accept"
    );
    next();
  });
  app.post("/api/auth/signup", controller.signup);
  app.post("/api/auth/signin", controller.signin);
};

Kode tersebut mendefinisikan rute untuk proses autentikasi sign up dan sign in. Sekarang user bisa melakukan sign up maupun sign in dengan mengirimkan post request ke url /api/auth/signup dan /api/auth/signin.

Selanjutnya mari kita buat controller dan route untuk mengambil data user. Masukkan kode berikut ke app/controllers/user.controller.js

exports.get = (req, res) => {
  User.findOne({
    where: {
      username: req.username
    }
  })
    .then(user => {
      if (!user) {
        return res.status(404).send({ message: "User Not found." });
      }
     user.getRoles().then(roles => {
        res.status(200).send({
          id: user.id,
          username: user.username,
          email: user.email,
          roles: roles
        });
      });
    })
    .catch(err => {
      res.status(500).send({ message: err.message });
    });
};

Kemudian masukkan kode berikut ke app/routes/user.route.js

const controller = require("../controllers/user.controller");
module.exports = function(app) {
  app.use(function(req, res, next) {
    res.header(
      "Access-Control-Allow-Headers",
      "x-access-token, Origin, Content-Type, Accept"
    );
    next();
  });
  app.get("/api/user/get", controller.get);
};

Tambahkan kode berikut ke server.js

...
// routes
require('./app/routes/auth.routes')(app);
require('./app/routes/user.routes')(app);
// set port, listen for requests
...

Sekarang path yang kira buat seharusnya sudah bisa diakses. Setelah ini kita akan mempelajari membuat middleware

Sumber:

Share postingan ini:

Leave a Reply

Your email address will not be published. Required fields are marked *