# 中间件

🤓 不同类型的中间件

在 Strapi 中,有 2 个中间件概念共存:

  • Strapi middlewares 已配置并启用 用于整个 Strapi 服务器应用程序。这些中间件可以在应用程序级别或 API 级别应用。
    本文档介绍如何实现它们。
    插件也可以添加 Strapi 中间件 (参见 Server API 文档)。

  • Route middlewares 的范围更有限,在路由级别被配置并用作中间件。它们在 routes 文档

# 实现

可以实现新的应用程序级或 API 级中间件:

使用 REST API 的中间件具有以下函数:

创建后,应将自定义中间件添加到 middlewares 配置文件 中,否则 Strapi 将不会加载它们。

自定义计时器中间件的示例

GraphQL 插件还允许使用不同的语法 实现自定义中间件

# 用法

中间件根据其范围以不同的方式称为:

  • 使用 global::middleware-name 对于应用级别中间件
  • 使用 api::api-name.middleware-name 对于 API 级别中间件
  • 使用 plugin::plugin-name.middleware-name 对于插件中间件

💡 TIP

要列出所有已注册的中间件,请运行 yarn strapi middlewares:list.