AdonisJS — это мощная платформа Node.js, позволяющая разработчикам создавать масштабируемые и эффективные веб-приложения. Одной из его ключевых особенностей является промежуточное программное обеспечение, которое обеспечивает гибкий способ обработки запросов и ответов. В этой статье мы рассмотрим различные методы, доступные для работы с промежуточным программным обеспечением в контексте ресурсов маршрутов в AdonisJS, а также приведем примеры кода, иллюстрирующие их использование.
- Глобальное промежуточное программное обеспечение:
Глобальное промежуточное программное обеспечение выполняется для каждого запроса, сделанного к приложению. Чтобы зарегистрировать глобальное промежуточное программное обеспечение в AdonisJS, вы можете добавить его в файлstart/kernel.js. Вот пример:
// start/kernel.js
const globalMiddleware = [
'App/Middleware/SomeMiddleware',
];
...
const namedMiddleware = {};
...
module.exports = {
/*
|---------------------------------------------------------------
| Global Middleware
|---------------------------------------------------------------
|
| The middleware defined here will be executed for every HTTP
| request made to the application.
|
*/
globalMiddleware,
...
};
- Промежуточное программное обеспечение маршрута:
Промежуточное программное обеспечение маршрута выполняется только для определенных маршрутов. AdonisJS предоставляет удобный способ указать промежуточное программное обеспечение маршрута при определении маршрутов. Вот пример:
// start/routes.js
Route.get('/profile', 'ProfileController.show').middleware(['auth']);
В приведенном выше примере промежуточное программное обеспечение authбудет выполнено до вызова метода showProfileController.
- Именованное промежуточное программное обеспечение:
AdonisJS позволяет вам определять именованное промежуточное программное обеспечение, которое можно повторно использовать на разных маршрутах. Вот пример того, как определить и использовать именованное промежуточное ПО:
// start/kernel.js
const namedMiddleware = {
auth: 'App/Middleware/Auth',
};
...
module.exports = {
...
namedMiddleware,
...
};
// start/routes.js
Route.get('/dashboard', 'DashboardController.index').middleware(['auth']);
В приведенном выше примере промежуточное программное обеспечение authопределено как App/Middleware/Authи применяется к маршруту /dashboard.
- Встроенное промежуточное ПО.
AdonisJS также предоставляет возможность определить встроенное промежуточное ПО в определении маршрута. Вот пример:
// start/routes.js
Route.get('/admin', async ({ response }, next) => {
// Perform some operations before calling the next middleware
await next();
}).middleware(['auth']);
В приведенном выше примере встроенная функция промежуточного программного обеспечения выполняется перед вызовом обработчика маршрута.
В этой статье мы рассмотрели различные методы, доступные для работы с промежуточным ПО в контексте ресурсов маршрутов в AdonisJS. Мы рассмотрели глобальное промежуточное программное обеспечение, промежуточное программное обеспечение маршрутизации, именованное промежуточное программное обеспечение и встроенное промежуточное программное обеспечение, предоставив примеры кода, иллюстрирующие их использование. Используя эти мощные функции промежуточного программного обеспечения, разработчики AdonisJS могут повысить функциональность и безопасность своих веб-приложений.