You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发Strapi自定义插件遭遇405 Method Not Allowed错误求助

解决Strapi插件POST路由返回405 Method Not Allowed的问题

以下是几个排查和解决的核心方向:

1. 修正路由访问路径

Strapi v4插件的路由默认挂载前缀是/api/[插件名],而非你使用的/v1/[插件名]。如果未全局配置API版本前缀,正确的访问路径应为:

http://127.0.0.1:1337/api/payment/create-payment-intent
http://127.0.0.1:1337/api/payment/confirm-payment-intent

若确实需要v1前缀,需在项目config/api.ts中添加全局配置:

export default {
  rest: {
    prefix: '/v1',
    // 其他默认配置...
  },
};

2. 检查控制器注册是否正确

确保src/plugins/payment/server/controllers/payment.ts文件存在,且正确导出对应处理方法,示例代码如下:

export default {
  async createPaymentIntent(ctx) {
    // 业务逻辑实现
    ctx.send({ status: 'success' });
  },
  async confirmPaymentIntent(ctx) {
    // 业务逻辑实现
    ctx.send({ status: 'success' });
  },
};

控制器文件名、方法名必须与路由配置中的handler字段完全匹配,否则会导致路由无法找到处理器,触发405错误。

3. 验证API Token的有效性

  • 确认使用的是API Token而非Admin Token:Admin Token仅适用于后台管理接口,无法访问插件的前端API路由。
  • 检查Token权限范围:即使是全权限Token,也要确保生成时勾选了插件相关的权限项(若存在单独配置)。

4. 确认请求方法与路由配置一致

检查Insomnia中发送的请求方法确实为POST,误选GET或其他方法会直接返回405错误。

5. 重启服务并清除缓存

修改插件路由或配置后,需完全重启Strapi服务以加载新配置,可执行以下命令清除缓存并重启:

yarn develop --clean

内容的提问来源于stack exchange,提问作者Alexandre Paiva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:22:56