示例手册:自定义路由
页面摘要: 自定义路由让你能够显式配置内容类型的路由,以控制身份验证并应用策略,例如绕过 Strapi 默认的身份验证或基于自定义条件限制访问。
🏗 关于这些示例
这些示例围绕 FoodAdvisor 构建,它已不再是 Strapi 的官方演示应用(已被 LaunchPad 取代)。这里重要的是理解所演示的后端机制,而不是 FoodAdvisor 本身。这些页面后续将改用 LaunchPad。
WARNING
本页是后端自定义示例手册的一部分。请确保你已经阅读其介绍。
💭 背景:
默认情况下,FoodAdvisor 不控制对其内容类型端点的访问。
假设我们之前创建了一个策略来将「Reviews」内容类型的访问限制在某些条件下,例如防止餐厅所有者为他们的餐厅创建评论。我们现在必须在使用以创建评论的路由上启用该策略。
🎯 目标:
- 为「Reviews」内容类型显式定义一份路由配置。
- 配置创建评论时使用的路由,以:
- 绕过 Strapi 默认的身份验证系统
- 并根据之前定义的自定义策略限制访问。
** 相关概念**
🧑💻 代码示例:
在 FoodAdvisor 项目的 /api 文件夹中,将 api/src/api/review/routes/review.js 文件的内容替换为以下代码:
'use strict';
const { createCoreRouter } = require('@strapi/strapi').factories;
module.exports = createCoreRouter('api::review.review', {
config: {
create: {
auth: false, // set the route to bypass the normal Strapi authentication system
policies: ['is-owner-review'], // set the route to use a custom policy
middlewares: [],
},
},
});
接下来做什么?
了解更多关于如何配置自定义中间件以执行扩展你基于 Strapi 的应用的额外操作的信息。