API 文档 - 描述多个对象
元数据
- 需求编号:001
- 子需求编号:001-01
- 接口编号:003
- 创建时间:2026-02-02
- 创建人:AI Assistant
- 状态:已完成
接口概述
批量获取多个对象的详细定义。
基本信息
- 功能描述:批量获取多个对象的详细定义
- 请求方式:POST
- 请求路径:
/partner/describe/sobjects
- 权限要求:
@PreAuthorize("@ss.hasPermi('partner:describe:sobjects')")
请求参数
请求体(JSON)
| 参数名 |
类型 |
必填 |
说明 |
示例值 |
| objectTypes |
Array[String] |
是 |
对象类型列表 |
["Account", "Contact", "Opportunity"] |
请求示例
{
"objectTypes": [
"Account",
"Contact",
"Opportunity"
]
}
响应参数
| 参数名 |
类型 |
说明 |
| code |
Integer |
状态码(200 成功,其他失败) |
| msg |
String |
提示信息 |
| data |
Array |
响应数据数组 |
| data[].sObject |
Object |
对象描述 |
| data[].sObject.name |
String |
对象名称 |
| data[].sObject.label |
String |
对象标签 |
| data[].sObject.keyPrefix |
String |
对象键前缀 |
| data[].sObject.custom |
Boolean |
是否为自定义对象 |
| data[].sObject.createable |
Boolean |
是否可创建 |
| data[].sObject.updateable |
Boolean |
是否可更新 |
| data[].sObject.deletable |
Boolean |
是否可删除 |
| data[].sObject.queryable |
Boolean |
是否可查询 |
| data[].sObject.fields |
Array |
字段列表 |
| data[].sObject.fields[].name |
String |
字段名称 |
| data[].sObject.fields[].label |
String |
字段标签 |
| data[].sObject.fields[].type |
String |
字段类型 |
| data[].sObject.fields[].length |
Integer |
字段长度 |
| data[].sObject.fields[].custom |
Boolean |
是否为自定义字段 |
| data[].sObject.fields[].createable |
Boolean |
是否可创建 |
| data[].sObject.fields[].updateable |
Boolean |
是否可更新 |
| data[].sObject.fields[].nillable |
Boolean |
是否可为空 |
| data[].success |
Boolean |
是否成功 |
| data[].errors |
Array |
错误信息列表 |
成功响应示例
{
"code": 200,
"msg": "操作成功",
"data": [
{
"sObject": {
"name": "Account",
"label": "Account",
"keyPrefix": "001",
"custom": false,
"createable": true,
"updateable": true,
"deletable": true,
"queryable": true,
"fields": [
{
"name": "Id",
"label": "Account ID",
"type": "id",
"length": 18,
"custom": false,
"createable": false,
"updateable": false,
"nillable": false
},
{
"name": "Name",
"label": "Account Name",
"type": "string",
"length": 255,
"custom": false,
"createable": true,
"updateable": true,
"nillable": false
}
]
},
"success": true,
"errors": null
},
{
"sObject": {
"name": "Contact",
"label": "Contact",
"keyPrefix": "003",
"custom": false,
"createable": true,
"updateable": true,
"deletable": true,
"queryable": true,
"fields": [
{
"name": "Id",
"label": "Contact ID",
"type": "id",
"length": 18,
"custom": false,
"createable": false,
"updateable": false,
"nillable": false
},
{
"name": "FirstName",
"label": "First Name",
"type": "string",
"length": 40,
"custom": false,
"createable": true,
"updateable": true,
"nillable": true
}
]
},
"success": true,
"errors": null
}
]
}
失败响应示例
{
"code": 500,
"msg": "描述多个对象失败",
"data": [
{
"sObject": null,
"success": false,
"errors": [
{
"statusCode": "INVALID_TYPE",
"message": "Invalid object type: InvalidObject"
}
]
}
]
}
错误码
| 错误码 |
说明 |
处理建议 |
| 200 |
操作成功 |
- |
| 400 |
请求参数错误 |
检查请求参数格式和必填项 |
| 401 |
未登录或登录已过期 |
请重新登录 |
| 403 |
无权限访问 |
请检查用户权限 |
| 500 |
服务器内部错误 |
请联系管理员或稍后重试 |
注意事项
- 对象名称区分大小写
- 每个对象独立处理,部分失败不影响其他对象
- 返回的字段列表包含当前用户有权限访问的所有字段
- 批量描述比单个描述更高效,减少 API 调用次数
- 某些对象可能因为权限限制不可访问
- 建议缓存结果以提高性能
使用场景
- 批量获取多个对象的元数据
- 动态生成多个对象的表单
- 验证多个对象是否存在
- 构建多对象查询构建器
- 权限检查和验证
相关文档