开放平台的API支持解析引用字段的查询语法,可以将返回结构中的特定字段(如id等)解析出更详尽的内容,语法格式为
GET /asset?resolve={"fields":["fieldA","fieldB"]}
其中fieldA和fieldB为需要解析的字段,多个需要解析的字段间以逗号隔开。
以“查询机构”的API为例:
未添加字段解析
请求参数: GET /department
响应参数:
[{ "defaultRoles": [], "roles": [], "permissions": [], "parent": null, "admins": [], "name": "DepA_1", "company": "5e01aa7a5ee76858e03a490e", "createdBy": "5e01aa7a5ee76858e03a490f", "createdAt": "2019-12-24T06:06:17.738Z", "updatedAt": "2019-12-24T06:06:17.738Z", "id": "5e01aad95ee76858e03a587d", "children": [] }]
其中company为此机构所属企业的id。
添加字段解析
例如想查询该机构所属企业的的详细信息,则需要解析company字段: 请求参数:
GET /department?resolve={"fields":["company","parent"]}
响应参数:
[{ "defaultRoles": [], "roles": [], "permissions": [], "parent": null, "admins": [], "name": "DepA_1", "company": { "admins": ["5e01aa7a5ee76858e03a490f"], "verified": false, "isOperator": true, "operators": [], "industries": [], "permissions": [], "name": "ABC", "createdAt": "2019-12-24T06:04:47.135Z", "updatedAt": "2019-12-24T06:04:47.135Z", "id": "5e01aa7a5ee76858e03a490e" }, "createdBy": "5e01aa7a5ee76858e03a490f", "createdAt": "2019-12-24T06:06:17.738Z", "updatedAt": "2019-12-24T06:06:17.738Z", "id": "5e01aad95ee76858e03a587d", "children": [] }]
则company的{}中括号中即为解析出来的该机构所属企业的的详细信息。
目前支持解析字段查询的API如下:
GET /application
GET /company
GET /company/:id
GET /department
GET /department/:id
GET /permission
GET /permission/:id
GET /resource
GET /resource/:id
GET /company/:id/resource
GET /user/:id/resource
GET /user/permission/:id
GET /role
GET /role/:id
GET /user
GET /user/:id