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

Strapi Docker部署后API路由返回404 NotFound问题求助

解决Strapi Docker部署后API路由返回404的问题

我之前也碰到过几乎一模一样的问题,大概率是这几个常见原因导致的,一步步排查试试:

1. 检查API路由前缀

Strapi默认会给所有API路由加上/api前缀,所以你访问的/post其实应该是/api/post。直接访问/post自然会返回404,因为Strapi根本没有这个路由。

你可以在Strapi后台的Settings > API Tokens > Settings里确认路由前缀的配置,默认就是api,调整请求地址到GET /api/post应该就能正常返回数据了。

2. 确认内容类型创建后是否重启了容器

如果你是在运行中的Docker容器里创建的post内容类型,Strapi需要重启才能生成对应的API路由。Docker容器里的Strapi实例默认不会自动热重载路由变更(开发模式需额外配置热重载,生产模式默认无此功能)。

执行以下命令重启容器:

docker restart <你的strapi容器名或ID>

重启后再访问/api/post,应该就能看到路由生效了。

3. 核对角色权限的配置细节

虽然你说已经给Public角色开放了find和findOne权限,但再仔细检查一遍:

  • 进入Settings > Roles & Permissions > Public
  • 在Permissions板块找到post内容类型,确认find和findOne的复选框确实被勾选
  • 别忘点击页面底部的Save按钮(这步很容易被忽略!)

4. 验证内容类型的API访问开关

有时候创建内容类型时可能不小心关闭了API访问:

  • 进入Content-Type Builder > post
  • 点击Advanced Settings标签页
  • 确认Enable API access选项处于勾选状态
  • 保存后重启容器使配置生效

如果以上步骤都试过还是不行,可以查看Docker容器里的Strapi日志,看看有没有路由加载失败的相关报错:

docker logs <你的strapi容器名或ID>

日志里的报错信息能帮你更快定位问题根源。

内容的提问来源于stack exchange,提问作者Patrik Bäckström

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:42:10