我的API中的所有路由都返回404 Not found
。我在strapi/strapi-docker上查看了Pull from Docker Hub部分。
除了运行图像之外,我还创建了一个名为post
的新Content类型,其中包含三个字段。如果我尝试GET /post
(以获得所有的帖子添加)我得到未经授权的响应错误.这在现阶段是预料之中的。在我检查Roles & Permissions以允许Public角色使用find和findOne路由之后,我得到了一个404 Not found响应错误,即使已经添加了数据。
dev服务器不使用任何前缀。
find和findOne的post
路由如下:
{
"routes": [
{
"method": "GET",
"path": "/post",
"handler": "Post.find",
"config": {
"policies": []
}
},
{
"method": "GET",
"path": "/post/:_id",
"handler": "Post.findOne",
"config": {
"policies": []
}
}
}
在strapi接口中没有太多的选项可以摆弄,所以我不确定还能尝试什么。我已经尝试了其他几个安装的strapi。不知道这是否会把它搞砸,但我依稀记得以前尝试过strapi/strapi-docker,并让它工作。
3条答案
按热度按时间9vw9lbht1#
我经常遇到这个问题,最简单的答案通常是:
你发表过你的文章吗?
Strapi有一个发布子系统,通常在创建任何集合、单个类型或组件时打开。
因此,当您创建任何已创建类型的任何内容时,数据将保存为草稿,并且不可公开使用。
这是我的链接集合类型。已保存,但未发布。
因此,如果您试图测试一个端点,但只有一个数据条目,并且它被设置为草稿,则不会显示任何数据。
没有数据!
如果是未发布的单个类型
这将返回一个404!
出版,瞧…
这可能是strapi发送404或空数组的原因之一!
ac1kyiln2#
这个问题我也遇到过很多次,即使是出版的内容。
另外两个原因可能是:
1.如果你的内容类型是posts,尝试/posts和/API/posts(第二个通常对我有用
1.在设置>角色(USERS & PERMISSIONS插件下的角色)下,确保Authenticated和Public两个用户角色都有find和findOne对内容类型的访问权限。
有一次我得到了404,即使我这样做是为了公共......但因为我在同一个浏览器作为我的登录管理员,并需要更新它为认证以及。
tvmytwxo3#
唯一的原因是发布按钮,有时它不工作,如果你有一个复杂的组件,其中一个部分错误,但屏幕不滚动到它,因此发布按钮似乎什么也不做,日志只显示一个获取请求,你开始拉你的头发。
好吧,不要,总是检查页面发布时的任何错误,即缺少必填字段等,使发布按钮的工作。