nodejs node make example data api node.js express intercept

api - make - node js request on data



Cómo interceptar node.js express request (1)

En express, he definido algunas rutas.

app.post("/api/v1/client", Client.create); app.get("/api/v1/client", Client.get); ...

He definido cómo manejar las solicitudes dentro de un controlador de cliente. ¿Hay alguna manera de que pueda realizar un procesamiento previo de las solicitudes, antes de manejarlas en mi controlador? Específicamente, quiero comprobar si la persona que llama a la API está autorizada para acceder a la ruta, utilizando la noción de niveles de acceso. Cualquier consejo sería apreciado.


Puedes hacer lo que necesites de un par de maneras.

Esto colocará un middleware que se utilizará antes de golpear el enrutador. Asegúrese de que el enrutador se agregue con app.use() después. El orden de middleware es importante.

app.use(function(req, res, next) { // Put some preprocessing here. next(); }); app.use(app.router);

También puede utilizar un middleware de ruta.

var someFunction = function(req, res, next) { // Put the preprocessing here. next(); }; app.post("/api/v1/client", someFunction, Client.create);

Esto hará un paso de preprocesamiento para esa ruta.

Nota: asegúrese de que sus app.use() estén antes de las definiciones de ruta. La definición de una ruta agrega automáticamente app.router a la cadena de middleware, lo que puede ponerlo por delante del middleware definido por el usuario.