Изучение промежуточного программного обеспечения Adonis: руководство по методам маршрутизации ресурсов

AdonisJS — это мощная платформа Node.js, позволяющая разработчикам создавать масштабируемые и эффективные веб-приложения. Одной из его ключевых особенностей является промежуточное программное обеспечение, которое обеспечивает гибкий способ обработки запросов и ответов. В этой статье мы рассмотрим различные методы, доступные для работы с промежуточным программным обеспечением в контексте ресурсов маршрутов в AdonisJS, а также приведем примеры кода, иллюстрирующие их использование.

  1. Глобальное промежуточное программное обеспечение:
    Глобальное промежуточное программное обеспечение выполняется для каждого запроса, сделанного к приложению. Чтобы зарегистрировать глобальное промежуточное программное обеспечение в 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,
  ...
};
  1. Промежуточное программное обеспечение маршрута:
    Промежуточное программное обеспечение маршрута выполняется только для определенных маршрутов. AdonisJS предоставляет удобный способ указать промежуточное программное обеспечение маршрута при определении маршрутов. Вот пример:
// start/routes.js
Route.get('/profile', 'ProfileController.show').middleware(['auth']);

В приведенном выше примере промежуточное программное обеспечение authбудет выполнено до вызова метода showProfileController.

  1. Именованное промежуточное программное обеспечение:
    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.

  1. Встроенное промежуточное ПО.
    AdonisJS также предоставляет возможность определить встроенное промежуточное ПО в определении маршрута. Вот пример:
// start/routes.js
Route.get('/admin', async ({ response }, next) => {
  // Perform some operations before calling the next middleware
  await next();
}).middleware(['auth']);

В приведенном выше примере встроенная функция промежуточного программного обеспечения выполняется перед вызовом обработчика маршрута.

В этой статье мы рассмотрели различные методы, доступные для работы с промежуточным ПО в контексте ресурсов маршрутов в AdonisJS. Мы рассмотрели глобальное промежуточное программное обеспечение, промежуточное программное обеспечение маршрутизации, именованное промежуточное программное обеспечение и встроенное промежуточное программное обеспечение, предоставив примеры кода, иллюстрирующие их использование. Используя эти мощные функции промежуточного программного обеспечения, разработчики AdonisJS могут повысить функциональность и безопасность своих веб-приложений.