GraphQL API

在Steedos中配置对象时,会自动为您生成GraphQL API

使用GraphQL API,您可以要求所需的确切信息。详情参考GraphQL API

您可以通过URL访问GraphQL接口,也可以通过客户端的方式,具体方式如下:

URL访问GraphQL#

默认以“ip:localhost”,“端口:5000”启动服务

URL#

POST 'http://localhost:5000/graphql'

请求参数#

以 JSON 格式传入请求参数。

ParamRequiredTypeDescription
querytruestring要传入的 GraphQL 脚本

示例如下:

curl \
-X POST http://192.168.0.95:5080/graphql
-b Authorization : Bearer apikey,Gooseneoeu7ABoJC0FQq4Q5DcqNPebL87Jyc27NMCrd
-d query : mutation{task__insert(data:{name:"Task One",space:"KCBjAEGRNQbfMBSpu"}){name,_id}}

返回结果如下:

{
"data": {
"tast__insert": {
"name": "Task One",
"_id": "60139a86a31008d9b075b74d"
}
}
}

客户端访问GraphQL#

假设您已经使用端口5000启动了华炎魔方的本地服务,那么您可以使用http://localhost:5000/graphql来访问GraphQL客户端。

在GraphQL客户端中,您可以在左侧面板中输入GraphQL脚本,然后通过单击页面顶部的运行按钮来运行它。

以下是一些可以直接在客户端上运行的示例。

示例#

询问所有帐户:

query{
contacts {
name,
amount
}
}
提示

您也可以省略请求头的‘query’,返回结果相同。

{
contacts {
name,
amount
}
}

结果如下:

{
"data": {
"accounts": [
{
"name": "Phase 2 Construction Contract",
"amount": 70000
},
{
"name": "2021 OA Project Maintenance Contract",
"amount": 89000
}
]
}
}

扩展查询#

您可以在对象名称和括号之后定义字段结构,扩展字段并查询相关字段值。

字段结构定义如下:

query{
contracts {
name
amount
othercompany{
name
owner{
name
}
}
}
}

返回结果如下:

{
"data": {
"contracts": [
{
"name": "Phase 2 Construction Contract",
"amount": 70000,
"othercompany": {
"name": "3M",
"owner": {
"name": "Litant"
}
}
},
{
"name": "2021 OA Project Maintenance Contract",
"amount": 89000
}
]
}
}

详情见通过GraphQL API查询数据

查询数据#

您可以通过 GraphQL API 使用 filtersfieldstopskipsort查询数据的记录,详见通过GraphQL API查询数据

示例:

查询所有status属性值为Qualified的线索:

query{
leads(filters:[["status", "=", "Qualified"]], top:1,
sort:"name desc"){
name,
title,
status
}
}

结果如下:

{
"data": {
"leads": [
{
"name": "Lead A",
"title": "GM",
"status": "Qualified"
}
]
}
}
提示

您也可以使用 filters:"status eq 'Qualified'" 替换 filters:[["status", "=" "Qualified"]],它是一个标准的OData过滤字符串

华炎魔方

华炎魔方基于商业智能和模型驱动,即使是不懂编程的业务人员,也能轻松便捷地创建智能化、移动化的企业应用。

© 2020 华炎软件. 保留所有权利.

开发人员微信群
商务咨询
微信公众号