服务器 Server

Directus 中服务器集合上的 REST 和 GraphQL API 文档。提供有关项目服务器、其架构和运行状况的详细信息。

获取 OpenAPI 规范

检索当前项目的 OpenAPI 规范。

权限
此 OAS 规范基于当前经过身份验证的用户的读取权限。

返回

符合 OpenAPI 规范 的对象

REST API

GET /server/specs/oas

GraphQL

POST /graphql/system
graphql
type Query {
 server_specs_oas: String
}
示例
graphql
query {
 server_specs_oas
}

获取 GraphQL SDL

检索当前项目的 GraphQL SDL。

权限
SDL 基于当前经过身份验证的用户的权限。

返回

GraphQL SDL 文件。

graphql
type about_us {
  id: Int
  introduction: String
  our_process: String
  sales_email: String
  general_email: String
  primary_color: String
  secondary_color: String
  logo: directus_files
  mark: directus_files
}

type articles {
  id: Int
  status: String
 ...
# etc

REST API

GET /server/specs/graphql/
GET /server/specs/graphql/system

GraphQL

POST /graphql/system
graphql
type Query {
 server_specs_graphql(scope: graphql_sdl_scope): String
}
示例
graphql
query {
 server_specs_graphql(scope: system)
}

Ping

Ping... pong! 🏓

Returns

Pong.

REST API

GET /server/ping

GraphQL

POST /graphql/system
graphql
type Query {
 server_ping: String
}
示例
graphql
query {
 server_ping
}

信息

有关当前安装的信息。

权限
为所有人返回公共信息。 管理员用户获得更多信息(见下文)。

返回

project object
有关该项目的公开信息。 用于呈现 Admin App 公共页面。

请参阅 设置对象 以获取有关“项目”对象的各个属性的更多信息。

登录的用户还可以获得以下信息:

rateLimit false | object
是否启用速率限制器。

rateLimit.points number
如果启用了速率限制器,则每个持续时间允许的点数

rateLimit.duration number
如果启用了速率限制器,则计算点的持续时间(以秒为单位)

Admin users also get the following information:

directus.version string
当前使用的 Directus 版本。

node.version string
使用的当前节点版本。

node.uptime integer
当前进程运行了多长时间。

os.type string
使用什么类型的操作系统。

os.version string
使用什么版本的操作系统。

os.uptime string
操作系统运行了多长时间。

os.totalmem string
操作系统上有多少可用内存。

REST API

GET /server/info

GraphQL

POST /graphql/system
graphql
type Query {
 server_info: server_info
}
示例
graphql
query {
 server_info {
  directus {
   version
  }
 }
}

健康状态

获取服务器当前的健康状态。

/server/health 端点向您显示服务器和所有连接的(第三方)服务(例如 Redis 或 S3)的一般健康状况。

输出基于“HTTP API 的健康检查响应”草案规范:HTTP API 的健康检查响应格式草案规范

此端点可用于确保在水平扩展设置(如 Kubernetes、Google Cloud Platform 或 AWS Elastic Beanstalk)中运行时系统健康。

默认情况下,端点仅返回 okwarnerrorstatus。 通过以管理员身份进行身份验证,它将返回有关系统当前健康状态的更深入的信息。

json
// Response

// Non-admin
{
  "status": "ok"
}

// Admin
{
  "status": "ok",
  "releaseId": "9.0.0",
  "serviceId": "3292c816-ae02-43b4-ba91-f0bb549f040c",
  "checks": {
    "pg:responseTime": [
      {
        "status": "ok",
        "componentType": "datastore",
        "observedUnit": "ms",
        "observedValue": 0.489
      }
    ],
    "pg:connectionsAvailable": [
      {
        "status": "ok",
        "componentType": "datastore",
        "observedValue": 2
      }
    ],
    "pg:connectionsUsed": [
      {
        "status": "ok",
        "componentType": "datastore",
        "observedValue": 0
      }
    ],
    "storage:local:responseTime": [
      {
        "status": "ok",
        "componentType": "objectstore",
        "observedValue": 1.038,
        "observedUnit": "ms"
      }
    ],
    "email:connection": [
      {
        "status": "ok",
        "componentType": "email"
      }
    ]
  }
}

返回

status string
okwarnerror之一。

经过身份验证的管理员用户还可以获得以下信息:

releaseId string
使用中的 Directus 版本。

serviceId string
当前 Directus 实例的 UUID。

checks array
包含所有单独连接的服务状态的数组。

REST API

GET /server/health

GraphQL

POST /graphql/system
graphql
type Query {
 server_health: JSON
}
示例
graphql
query {
 server_health
}