关于 GraphQL
关于 GraphQL
开始
Http
1https://api.cloud.luxonis.com/graphqlPOST 请求,并包含:Content-Type: application/jsonAuthorization: Bearer <your_api_key>
team { ... } 接口,并将 Hub API 密钥仅保留在您的后端。如果您尚未设置身份验证,请参阅 API 密钥。请求结构
- 操作定义,例如
query或mutation,以及操作名称和可选的变量定义。 - 选择集,列出您想要的精确字段。
- 变量对象,作为 JSON 与查询一起发送,以便值与文档分开。
- HTTP 传输信封,包含
Authorization和Content-Type标头。
JSON
1{
2 "query": "query Devices($first: Int!, $after: String) { team { devices(first: $first, after: $after) { nodes { id name status } } } }",
3 "variables": {
4 "first": 25,
5 "after": null
6 }
7}示例查询
列出设备
team { ... } 作为公共控制平面集成的根:Graphql
1query Devices($first: Int!, $after: String) {
2 team {
3 devices(first: $first, after: $after) {
4 nodes {
5 id
6 name
7 status
8 }
9 pageInfo {
10 hasNextPage
11 endCursor
12 }
13 }
14 }
15}更新设备状态
Graphql
1mutation UpdateDevice($input: UpdateDeviceInput!) {
2 updateDevice(input: $input) {
3 clientMutationId
4 }
5}UpdateDeviceInput 内部允许的确切字段,因此在连接生产流程之前,请使用参考页面或内省来检查当前的输入结构。Hub 特定边界
公共接口
team { ... } 接口。身份验证边界
- 您的用户向您自己的前端和后端进行身份验证。
- 您的后端存储 Hub API 密钥。
- 您的后端调用 Hub GraphQL。
- 您的前端仅接收其所需的派生负载。
模式内省
实时行为
模式中的核心概念
- 对象类型和字段 定义了您可以查询的资源和属性,例如
Device、Team或App。 - 参数和变量 允许您传递分页、过滤和输入值,而无需重写查询字符串。
- 输入对象 对结构化的 mutation 输入进行分组,例如
UpdateDeviceInput。 - 枚举、接口和联合 描述了受约束的值和多态响应结构。
- 连接 是使用
nodes、edges和pageInfo等字段的分页模式。