Strapi自定义API端点创建后出现404错误求助
问题分析与解决方案
你的404错误核心原因是访问路径与路由配置不匹配,以下是具体问题和修复步骤:
1. 路由路径的错误匹配
你使用createCoreRouter创建路由时,Strapi会自动为该模型添加基础路径前缀/api/account,所以你配置的path: '/index'会拼接成完整路径:http://localhost:1337/api/account/index,而你访问的/api/index并不存在,导致404。
2. 代码修复方案
方案一:使用正确的访问路径
直接访问正确的端点地址:
http://localhost:1337/api/account/index
方案二:修改路由配置(如果想让端点为/api/index)
如果你希望自定义端点直接是/api/index,不要和account模型绑定,需要创建独立的路由配置,而非基于createCoreRouter:
修改src/api/account/routes/account.js为:
'use strict'; module.exports = { routes: [ { method: 'GET', path: '/api/index', handler: 'account.index', }, ], };
保持controller代码不变,之后重启Strapi服务,即可访问http://localhost:1337/api/index。
3. 额外检查项
- 确认修改代码后重启了Strapi服务,Strapi不会自动热重载路由/controller的修改。
- 检查Strapi后台的权限设置:在「设置→角色与权限→公共角色(或你使用的角色)」中,确保
account模型的index权限已开启,避免出现权限拦截问题。
内容的提问来源于stack exchange,提问作者Aidar
相关产品推荐
相关产品推荐

