# 中间件
🤓 不同类型的中间件
在 Strapi 中,有 2 个中间件概念共存:
Strapi middlewares 已配置并启用 用于整个 Strapi 服务器应用程序。这些中间件可以在应用程序级别或 API 级别应用。
本文档介绍如何实现它们。
插件也可以添加 Strapi 中间件 (参见 Server API 文档)。Route middlewares 的范围更有限,在路由级别被配置并用作中间件。它们在 routes 文档。
# 实现
可以实现新的应用程序级或 API 级中间件:
- 使用 交互式 CLI 命令
strapi generate
- 或通过在相应的文件夹中创建 JavaScript 文件来手动操作 (参见 project structure):
./src/middlewares/
用于应用程序级中间件./src/api/[api-name]/middlewares/
用于 API 级中间件./src/plugins/[plugin-name]/middlewares/
用于 插件中间件
使用 REST API 的中间件具有以下函数:
创建后,应将自定义中间件添加到 middlewares 配置文件 中,否则 Strapi 将不会加载它们。
自定义计时器中间件的示例
GraphQL 插件还允许使用不同的语法 实现自定义中间件
# 用法
中间件根据其范围以不同的方式称为:
- 使用
global::middleware-name
对于应用级别中间件 - 使用
api::api-name.middleware-name
对于 API 级别中间件 - 使用
plugin::plugin-name.middleware-name
对于插件中间件
💡 TIP
要列出所有已注册的中间件,请运行 yarn strapi middlewares:list
.
← Policies Controllers →