Middleware de nível do aplicativo


São middleware vinculados a uma instância do app:

import express from "express";
 
const app = express();

Esse vinculo ocorre a partir das seguintes funções:

  • app.use()
  • app.HTTP_METHOD()

Exemplos de HTTP methods

app.get(), app.put(), app.post()

É possível registrar várias funções middlewares, mapeados em um mesmo endpoint, em série com app.use() ou app.HTTP_METHOD():

// Middleware executado primeiro
app.get("/user/:id", function (req, res, next) {
  res.end(req.params.id); // termina o ciclo request-response
});
 
// Esse middleware não provoca erro, porém nunca é executado
app.get(
  "/user/:id",
  function (req, res, next) {
    console.log("ID:", req.params.id);
    next();
  },
  function (req, res, next) {
    res.send("User Info");
  }
);

Exemplos

// Registrar middleware em nível de aplicação com app.use()
app.use("/user/:id", function (req, res, next) {
  console.log("Request Type:", req.method);
  next();
});
// Registrar middleware em nível de aplicação com app.HTTP_METHOD()
app.get("/user/:id", function (req, res, next) {
  res.send("USER");
});
// Registrar pilha de middlewares em nível de aplicação com app.use()
app.use(
  "/user/:id",
  function (req, res, next) {
    console.log("Request URL:", req.originalUrl);
    next();
  },
  function (req, res, next) {
    console.log("Request Type:", req.method);
    next();
  }
);

Referências