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();
}
);