Alfresco API

POST / sql

基本信息

Note: 该端点在Alfresco 6.0和更高版本中可用。 这将需要Insight引擎,并且不能与Alfresco Search Services一起使用。

您可以在JSON主体中的API中指定所有参数(You specify all the parameters in this API in a JSON body),基本查询如下所示:

{
  "stmt": "select * from alfresco",
  "locales": ["en_UK"]
  "timezone": "Europe/London"
  "includeMetadata":true
}

Note:所需的最小可能查询参数。

{
  "stmt":
}

预期的响应将以Alfresco格式显示,如下所示。

{
  "list": {
    "pagination": {
      "count": 1,
      "hasMoreItems": false,
      "totalItems": 1,
      "skipCount": 0,
      "maxItems": 100
  },
  "entries": [{
    "entry": [
      {
        "label": "aliases",
        "value": "{\"SITE\":\"site\"}"
      },
      {
        "label": "isMetadata",
        "value": "true"
      },
      {
        "label": "fields",
        "value": "[\"SITE\"]"
      }
    ]
  }]}}

要覆盖默认格式,请将格式设置为solr。

  {
    "stmt": "select * from alfresco",
    "format": "solr"
  }

您可以使用 facetFields JSON body parameter指定多个构面字段,例如:

"facetFields": {"facets": [{"field": "creator", "mincount": 1}, {"field": "modifier", "mincount": 1}]}

这将返回Solr的输出响应。

{
  "result-set": {
  "docs": [
    {
      "aliases": {
      "SITE": "site"
    },
      "isMetadata": true,
      "fields": [ "SITE"]
    },
    {
        "RESPONSE_TIME": 23,
        "EOF": true
    }
  ]}
}

您可以使用locales parameter来根据语言环境过滤结果。

"locales": ["en_UK", "en_US"]

要在查询中包含时区,请添加timezone parameter

"timezone": "Japan"

您可以使用includeMetadata parameter包含其他信息,默认情况下,此参数设置为false。

"includeMetadata": "false"

请注意,如果将其设置为true,则第一个条目将代表请求的元数据

 {
   "stmt": "select site from alfresco limit 2",
   "includeMetadata":true
 }

预期的响应:

"entries": [
  {
    #First entry holds the Metadata infromation as set by {includeMetadata:true}
    "entry": [
      {
        "label": "aliases",
        "value": "{\"SITE\":\"site\"}"

      },
      {
        "label": "isMetadata",
        "value": "true"
      },
      {
        "label": "fields",
        "value": "[\"SITE\"]"
      }
    ]
    #end of Metadata
  },
  {
    #Query result entry value.
    "entry": [
      {
        "label": "site",
        "value": "[\"test\"]"
      }
    ]
  },
  {
    "entry": [
    {
      "label": "site",
      "value": "[\"test\"]"
    }
    ]
  }
]

请求方式 :POST

请求API: /sql

响应等级(状态200)

成功回应

{
  "list": {
    "pagination": {
      "count": 0,
      "hasMoreItems": true,
      "totalItems": 0,
      "skipCount": 0,
      "maxItems": 0
    },
    "entries": [
      {
        "label": "string",
        "value": "string"
      }
    ]
  }
}

响应内容类型 applicaiton/json

Body参数(queryBody

request body示例

{
  "stmt": "string",
  "format": "string",
  "locales": [
    "string"
  ],
  "timezone": "string",
  "includeMetadata": true
}

错误信息描述

状态码 原因
default 意外错误

返回结果示例

{
  "error": {
    "errorKey": "string",
    "statusCode": 0,
    "briefSummary": "string",
    "stackTrace": "string",
    "descriptionURL": "string",
    "logId": "string"
  }
}