Strapi v4创建无前缀路由:Stripe WebHook路由配置问题
解决Strapi v4创建不带/api前缀的WebHook路由问题
你之前把路由配置在内容类型的路由文件里,Strapi v4会自动给这类路由加上/api前缀,要创建根级路由(不带/api),按以下步骤操作:
- 在项目根目录的
src文件夹下,新建routes目录(如果没有的话)。 - 在
src/routes/里创建自定义路由文件,比如web-hook.js,写入以下配置:
module.exports = { routes: [ { method: "POST", path: "/web-hook", handler: "api::order.order.webHooks", config: { auth: false, csrf: false, }, }, ], };
- 重启Strapi服务,此时
localhost:1337/web-hook即可直接访问。
关键说明
- 内容类型(比如
api::order)的路由文件会自动继承/api前缀,因此根级路由不能放在这类文件中。 - 关闭
auth和csrf是因为Stripe的WebHook请求不需要认证和CSRF验证,否则请求会被拦截。 - 确保
api::order.order.webHooks控制器已实现Stripe WebHook的处理逻辑,比如签名验证等。
内容的提问来源于stack exchange,提问作者Yaman Kassas
相关产品推荐
相关产品推荐

