文件夹 Folders

Directus 中有关文件夹集合的 REST 和 GraphQL API 文档。文件夹可用于组织平台内的文件。 文件夹是虚拟的,不会在存储适配器中镜像。

文件夹对象

id uuid
文件夹的主键。

name string
文件夹的名称。

parent many-to-one
父文件夹。 多对一到文件夹(递归)。

json
{
  "data": {
    "id": "fc02d733-95b8-4e27-bd4b-08a32cbe4e66",
    "name": "Test",
    "parent": null
  }
}

列出文件夹

列出 Directus 中存在的所有文件夹。

查询参数

支持所有全局查询参数

返回

最多包含 limit 文件夹对象 的数组。 如果没有可用的项目,数据将是一个空数组。

REST API

GET /folders
SEARCH /folders

Learn more about SEARCH ->

GraphQL

POST /graphql/system
graphql
type Query {
 folders: directus_folders
}
示例
graphql
query {
 folders {
  name
 }
}

检索文件夹

列出 Directus 中存在的所有文件夹。

查询参数

支持所有全局查询参数

返回

如果提供了有效的主键,则返回 文件夹对象

REST API

GET /folders/:id
示例
GET /folders/fc02d733-95b8-4e27-bd4b-08a32cbe4e66

GraphQL

POST /graphql/system
graphql
type Query {
 folders_by_id(id: ID!): directus_folders
}
示例
graphql
query {
 folders_by_id(id: "fc02d733-95b8-4e27-bd4b-08a32cbe4e66") {
  name
 }
}

创建文件夹

创建一个新的(虚拟)文件夹。

查询参数

支持所有全局查询参数

请求正文

部分 文件夹对象name 是必需的。

返回

返回已创建文件夹的 文件夹对象

REST API

POST /folders
示例
json
// POST /folders

{
  "name": "Nature"
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_folders_item(data: create_directus_folders_input): directus_folders
}
示例
graphql
mutation {
 create_folders_item(data: { name: "Nature" }) {
  id
  name
 }
}

创建多个文件夹

创建多个新的(虚拟)文件夹。

查询参数

支持所有全局查询参数

请求正文

部分 文件夹对象 的数组。 name 是必需的。

返回

返回已创建文件夹的 文件夹对象

REST API

POST /folders
示例
json
// POST /folders

[
  {
    "name": "Nature"
  },
  {
    "name": "Cities"
  }
]

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_folders_items(data: [create_directus_folders_input]): [directus_folders]
}
示例
graphql
mutation {
 create_folders_items(data: [{ name: "Nature" }, { name: "Cities" }]) {
  id
  name
 }
}

更新文件夹

更新现有文件夹。

查询参数

支持所有全局查询参数

请求正文

部分 文件夹对象

返回

返回已更新文件夹的 文件夹对象

REST API

PATCH /folders/:id
示例
json
// PATCH /folders/fac21847-d5ce-4e4b-a288-9abafbdfbc87

{
  "parent": "d97c2e0e-293d-4eb5-9e1c-27d3460ad29d"
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_folders_item(id: ID!, data: update_directus_folders_input): directus_folders
}
示例
graphql
mutation {
 update_folders_item(
  id: "fac21847-d5ce-4e4b-a288-9abafbdfbc87"
  data: { parent: "d97c2e0e-293d-4eb5-9e1c-27d3460ad29d" }
 ) {
  id
  name
 }
}

更新多个文件夹

更新多个现有文件夹。

查询参数

支持所有全局查询参数

请求正文

keys Required
您要更新的文件夹的主键数组。

data Required
文件夹对象 的任何属性。

返回

返回已更新文件夹的 文件夹对象

REST API

PATCH /folders
示例
json
// PATCH /folders

{
  "keys": ["fac21847-d5ce-4e4b-a288-9abafbdfbc87", "a5bdb793-dd85-4ac9-882a-b42862092983"],
  "data": {
    "parent": "d97c2e0e-293d-4eb5-9e1c-27d3460ad29d"
  }
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_folders_items(ids: [ID!]!, data: update_directus_folders_input): [directus_folders]
}
示例
graphql
mutation {
 update_folders_items(
  ids: ["fac21847-d5ce-4e4b-a288-9abafbdfbc87", "a5bdb793-dd85-4ac9-882a-b42862092983"]
  data: { parent: "d97c2e0e-293d-4eb5-9e1c-27d3460ad29d" }
 ) {
  id
  name
 }
}

删除文件夹

删除现有文件夹。

文件
此文件夹中的所有文件都将移至根文件夹。

返回

空正文

REST API

DELETE /folders/:id
示例
// DELETE /folders/a5bdb793-dd85-4ac9-882a-b42862092983

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_folders_item(id: ID!): delete_one
}
示例
graphql
mutation {
 delete_folders_item(id: "fac21847-d5ce-4e4b-a288-9abafbdfbc87") {
  id
 }
}

删除多个文件夹

删除多个现有文件夹。

文件
这些文件夹中的所有文件都将移至根文件夹。

请求正文

一组文件夹主键。

返回

空正文

REST API

DELETE /folders
示例
json
// DELETE /folders

["d97c2e0e-293d-4eb5-9e1c-27d3460ad29d", "fc02d733-95b8-4e27-bd4b-08a32cbe4e66"]

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_folders_items(ids: [ID!]!): delete_many
}
示例
graphql
mutation {
 delete_folders_items(ids: ["fac21847-d5ce-4e4b-a288-9abafbdfbc87", "a5bdb793-dd85-4ac9-882a-b42862092983"]) {
  ids
 }
}