Router Package
Route Middleware
Apply middleware to individual routes or groups.
Route Middleware
Apply middleware to individual routes or groups.
Route-Level Middleware
Route.get("/profile", UserController.profile).middleware("auth");
Route.get("/admin", AdminController.index).middleware(["auth", "admin"]);
Middleware with Parameters
Route.get("/api/data", DataController.index).middleware("throttle:60,1"); // 60 requests per minute
Group Middleware
Route.group(() => {
Route.get("/users", UserController.index);
Route.post("/users", UserController.store);
}).middleware("api");
Without Middleware
Route.group(() => {
Route.get("/public", PublicController.index);
})
.middleware("api")
.withoutMiddleware("auth");
Registering Middleware Aliases
import { MiddlewareServiceProvider } from "@lara-node/core";
export class MiddlewareProvider extends MiddlewareServiceProvider {
registerMiddleware() {
return {
aliases: {
auth: AuthMiddleware,
admin: AdminMiddleware,
throttle: ThrottleMiddleware,
},
groups: {
api: ["throttle:60,1", "auth"],
web: ["session"],
},
};
}
}
Next Steps
- Middleware Guide -- Full middleware guide
- Built-in Middleware -- Pre-built middleware
- Controllers -- Controller decorators