Strapi 路由返回 404 未找到

Pat*_*röm 5 docker strapi nuxt-strapi

我有一个问题,我的 API 中的所有路由都返回404 Not found. 我遵循了Strapi/strapi-docker 上Pull from Docker Hub部分。

除了运行图像之外,我所做的是创建一个名为post包含三个字段的新内容类型。如果我尝试GET /post(添加所有帖子),我会收到未经授权的响应错误。这是现阶段的预期。在检查角色和权限以允许公共角色使用 find 和 findOne 路由后,即使添加了数据,我也会收到 404 Not found 响应错误。

开发服务器不使用任何前缀。

post find 和 findOne 的路由如下所示:

{
  "routes": [
    {
    "method": "GET",
    "path": "/post",
    "handler": "Post.find",
    "config": {
      "policies": []
    }
  },
  {
    "method": "GET",
    "path": "/post/:_id",
    "handler": "Post.findOne",
    "config": {
      "policies": []
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Strapi 界面中没有太多选项可以摆弄,所以我不确定还能尝试什么。我已经尝试了一些其他的 Strapi 安装。不确定这是否会搞砸,但我依稀记得之前尝试过 Strapi/strapi-docker 并让它工作。

mah*_*ich 9

我多次偶然发现这个问题,最简单的答案通常是:

您发表过任何帖子吗?

Strapi 有一个发布子系统,通常在创建任何集合、单一类型或组件时打开。 在此输入图像描述

因此,当您创建任何类型的任何内容时,数据将保存为草稿并且不公开。

这是我的链接集合类型。它已保存,但未发布。

在此输入图像描述

因此,如果您尝试测试端点,但只有一个数据条目并且将其设置为草稿,则不会显示任何数据。

在此输入图像描述

没有数据!

在此输入图像描述

如果是单一类型未公开的情况

在此输入图像描述

这将返回 404!

在此输入图像描述

发布,瞧...

在此输入图像描述

这可能是为什么 Strapi 向您发送 404 或仅发送空数组的原因之一!

  • 虽然已经过去很多年了,但你的回答对我很有帮助。谢谢 (2认同)

Kev*_* W. 5

我也多次遇到过这个问题,即使是已发布的内容。

另外两个原因可能是:

  1. 如果您的内容类型是帖子,请尝试 /posts 以及 /api/posts (第二个通常适合我
  2. 在“设置”>“角色”(用户和权限插件下的角色)下,确保经过身份验证的用户角色和公共用户角色都具有对内容类型的findfindOne访问权限。

有一次,我得到了 404,尽管我是为Public执行此操作的……但因为我与登录的管理员使用同一浏览器,并且还需要更新它以进行身份​​验证。

在此输入图像描述