bimserver-sfs服务
服务概述
文档存储服务(SFS Service) 文档存储服务基于文档为客户提供海量、安全、高可靠、低成本的数据存储能力。 您可以使用本文档提供的API对文档存储服务的资源进行相关操作,例如文档的上 传、下载、锁定、解锁、拷贝、删除以及版本管理等,再如文档存储位置的查询、 创建、移动、删除等,此外,还可以实现大文件的分片上传以及文件元数据的管理。 支持的全部操作请参见以下API描述。
基础服务
1.None
GET /bimserver/sfs/v3/swagger.json
获取服务api文档
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/swagger.json
文件管理
2.克隆文件数据
POST /bimserver/sfs/v3/clone
根据参数克隆SFS模板文件夹/文件数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileEntryModelListDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/clone
请求体
用于克隆模板实体时的参数集合
类型: application/json
引用模型:CloneMetadata
请求体示例
{
"clientId": "string",
"projectIds": [
{
"originProjectId": "string",
"projectId": "string"
}
],
"username": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| clientId | string | 否 | 客户端ID |
| projectIds | array | 否 | 模板实体的参数集合 |
| username | string | 否 | 用户标识 |
HTTP响应示例
响应200
{
"data": {
"file_count": 0,
"files": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
}
],
"folder_count": 0,
"folders": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileEntryModelList | 否 | None |
| x_ref | object: Reference | 否 | None |
3.复制文件到指定文件夹
POST /bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file
复制文件到指定文件夹,默认为当前版本号
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| parentId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file
请求体
fileCopyParam
类型: application/json
引用模型:FileCopyParameter
请求体示例
{
"mode": "string",
"source_id": "string",
"source_version": 0,
"target_name": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| mode | string | 否 | 文件复制模式(copy |
| source_id | string | 否 | 源文件id |
| source_version | integer | 否 | 源文件版本 |
| target_name | string | 否 | 目标文件名称 |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
4.覆盖文件对应版本的内容
PUT /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}
覆盖某个具体文件的对应版本内容
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| md5 | query | None | 否 | |
| projectId | path | string | 是 | |
| fileId | path | string | 是 | |
| version | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}?md5=xxx
请求体
类型: multipart/form-data
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
5.以 application/octet-stream 方式上传AppData文件
POST /bimserver/sfs/v3/projects/{projectId}/apps/{appId}/folder/{folderId}/file
以 application/octet-stream 方式上传AppData文件
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| md5 | query | None | 是 | |
| file_name | query | None | 是 | |
| projectId | path | string | 是 | |
| appId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/apps/{appId}/folder/{folderId}/file?md5=xxx&file_name=xxx
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
6.以 multipart/form-data 方式上传AppData文件
PUT /bimserver/sfs/v3/projects/{projectId}/apps/{appId}/folder/{folderId}/file
如果在同一个folder下发现有相同名称的文件,则文件版本号自动加1
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| md5 | query | None | 否 | |
| file_name | query | None | 否 | |
| file_external_id | query | None | 否 | |
| file_user_data | query | None | 否 | |
| version_external_id | query | None | 否 | |
| version_user_data | query | None | 否 | |
| version_comments | query | None | 否 | |
| extAttr | query | None | 否 | |
| projectId | path | string | 是 | |
| appId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/apps/{appId}/folder/{folderId}/file?md5=xxx&file_name=xxx&file_external_id=xxx&file_user_data=xxx&version_external_id=xxx&version_user_data=xxx&version_comments=xxx&extAttr=xxx
请求体
类型: multipart/form-data
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
7.在项目中创建初始版本的文件
PUT /bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file
通过 multipart/form-data 的方式上传文件和设置必要的参数(如:user data),如果上传文件夹,则path参数需要填写对应的文件路径
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| md5 | query | None | 否 | |
| file_name | query | None | 否 | |
| file_external_id | query | None | 否 | |
| file_user_data | query | None | 否 | |
| version_external_id | query | None | 否 | |
| version_user_data | query | None | 否 | |
| version_comments | query | None | 否 | |
| extAttr | query | None | 否 | |
| path | query | None | 否 | |
| projectId | path | string | 是 | |
| parentId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file?md5=xxx&file_name=xxx&file_external_id=xxx&file_user_data=xxx&version_external_id=xxx&version_user_data=xxx&version_comments=xxx&extAttr=xxx&path=xxx
请求体
类型: multipart/form-data
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
8.为存在的文件下创建新的版本号
POST /bimserver/sfs/v3/projects/{projectId}/file/{fileId}
一个文件最多支持 200 个版本(version)的记录,version 数量到上限后,会失败。需要删除不必要的 version 来清理。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| md5 | query | None | 否 | |
| version_external_id | query | None | 否 | |
| version_user_data | query | None | 否 | |
| version_comments | query | None | 否 | |
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileVersionModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}?md5=xxx&version_external_id=xxx&version_user_data=xxx&version_comments=xxx
请求体
类型: multipart/form-data
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileVersionModel | 否 | None |
| x_ref | object: Reference | 否 | None |
9.删除AppData文件
DELETE /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/appData
version为空表示删除这个文件下所有的版本,有值表示只删除该文件对应的版本
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| version | query | None | 否 | |
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | ResponseEntity |
| 204 | No Content | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/appData?version=xxx
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
10.将文件id指向的文件删除
DELETE /bimserver/sfs/v3/projects/{projectId}/file/{fileId}
将 fileId 指向的 File 以及关联的 File version 标记为删除
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 204 | No Content | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
11.探查文件是否存在于服务器
POST /bimserver/sfs/v3/file/detectFileExists
探查文件是否存在于服务器
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | ResponseEntity |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/file/detectFileExists
请求体
检查文件md5值的所需要元数据
类型: application/json
引用模型:file md5 元数据
请求体示例
{
"md5": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| md5 | string | 否 | 文件md5值 |
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
12.通过签名认证的方式下载文件
GET /bimserver/sfs/v3/projects/{projectId}/file/download/signedUrl
通过签名认证的方式下载文件
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| signature | query | None | 是 | |
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | ResponseEntity |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/download/signedUrl?signature=xxx
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
13.获取指定文件的指定版本的文件内容
GET /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}
获取指定 File 的指定 version 的文件内容。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 | |
| version | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | application/octet-stream | ResponseEntity |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | application/octet-stream | ExceptionModel |
| 403 | 无权访问请求的资源 | application/octet-stream | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | application/octet-stream | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | application/octet-stream | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
14.下载指定文件的内容
GET /bimserver/sfs/v3/projects/{projectId}/file/{fileId}
获取指定 File 的文件内容,version 为当前的 version
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | application/octet-stream | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | application/octet-stream | ExceptionModel |
| 403 | 无权访问请求的资源 | application/octet-stream | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | application/octet-stream | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | application/octet-stream | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}
15.获取一个文件夹的信息
GET /bimserver/sfs/v3/projects/{projectId}/folder/{folderId}/info
获取一个 Folder 的信息。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FolderModelDataWrapper |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/{folderId}/info
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FolderModel | 否 | None |
| x_ref | object: Reference | 否 | None |
16.获取指定项目回收站下面的内容
GET /bimserver/sfs/v3/projects/{projectId}/recyclebin
获取指定项目回收站下的所有内容(被删除的文件和文件夹均处在同一层级)
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| pageNumber | query | None | 否 | |
| pageSize | query | None | 否 | |
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | PageModelForSfs |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/recyclebin?pageNumber=xxx&pageSize=xxx
HTTP响应示例
响应200
{
"data": {
"file_count": 0,
"files": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
}
],
"folder_count": 0,
"folders": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
}
]
},
"first": "unknown type - boolean",
"hasNext": "unknown type - boolean",
"hasPrevious": "unknown type - boolean",
"last": "unknown type - boolean",
"pageNumber": 0,
"pageSize": 0,
"totalElements": 0,
"totalPage": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileEntryModelList | 否 | None |
| first | boolean | 否 | None |
| hasNext | boolean | 否 | 是否有下一页 |
| hasPrevious | boolean | 否 | 是否有上一页 |
| last | boolean | 否 | None |
| pageNumber | integer | 否 | 当前是第几页 |
| pageSize | integer | 否 | 当前页的最大记录数 |
| totalElements | integer | 否 | 内容总共有多少条 |
| totalPage | integer | 否 | 总共有多少页 |
17.移动文件到指定文件夹下面
POST /bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file/batch
移动文件到指定的文件夹下面。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| parentId | path | string | 是 |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/file/batch
18.None
POST /bimserver/sfs/v3/projects/{projectId}/recyclebin/{entryId}
恢复被删除的条目(文件或文件夹),如果存在同名条目则恢复失败。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/recyclebin/{entryId}
19.根据条件搜索文件
POST /bimserver/sfs/v3/file/search
根据条件搜索文件
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | application/json | FileWithVersionModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | application/json | ExceptionModel |
| 403 | 无权访问请求的资源 | application/json | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | application/json | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | application/json | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/file/search
请求体
搜索参数
类型: application/json
引用模型:SearchMetadata
请求体示例
{
"conditionalFormula": "string",
"path": "string",
"projectId": "string",
"searchData": [
{
"conditionalExpression": {
"searchAttribute": {
"dataType": "string",
"extendedAttribute": "unknown type - boolean",
"key": "string",
"resourceType": "string"
},
"searchOperator": {
"type": "string"
},
"searchValue": {
"value": "string"
}
},
"order": 0
}
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| conditionalFormula | string | 否 | 搜索条件公式 |
| path | string | 否 | 搜索路径,默认为@root。当 projectId 不为空时此属性会对搜索结果进行筛选。 |
| projectId | string | 否 | 项目Id |
| searchData | array | 否 | 搜索标识和搜索表达式的Model |
HTTP响应示例
响应200
{
"data": {
"files": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": "string",
"name": "string",
"owner": "string",
"parent_models": [
{
"id": "string",
"name": "string"
}
],
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": {
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileVersionListModel | 否 | None |
| x_ref | object: Reference | 否 | None |
20.指定项目下的文件锁定状态
PUT /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/locking
对 File 锁定时将锁定其所有版本
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | LockModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/locking
请求体
新增一个'锁'需要的参数
类型: application/json
引用模型:LockMetadata
请求体示例
{
"entryId": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| entryId | string | 否 | 被锁定实体的 ID |
| locked | boolean | 否 | '锁'的状态,表示锁是否生效;默认为:true |
| lockedAt | object: Timestamp | 否 | None |
| lockedBy | string | 否 | 锁定者,锁定资源的人,由Client自定一个其本身可识别的值 |
HTTP响应示例
响应200
{
"data": {
"entryId": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: LockMetadata | 否 | None |
| x_ref | object: Reference | 否 | None |
21.指定项目下的文件夹锁定状态
PUT /bimserver/sfs/v3/projects/{projectId}/folder/{folderId}/locking
设定指定的 Project 下的 Folder 锁定状态
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | LockModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/{folderId}/locking
请求体
新增一个'锁'需要的参数
类型: application/json
引用模型:LockMetadata
请求体示例
{
"entryId": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| entryId | string | 否 | 被锁定实体的 ID |
| locked | boolean | 否 | '锁'的状态,表示锁是否生效;默认为:true |
| lockedAt | object: Timestamp | 否 | None |
| lockedBy | string | 否 | 锁定者,锁定资源的人,由Client自定一个其本身可识别的值 |
HTTP响应示例
响应200
{
"data": {
"entryId": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: LockMetadata | 否 | None |
| x_ref | object: Reference | 否 | None |
分片上传
22.完成分片上传文件
POST /bimserver/sfs/v3/projects/{projectId}/file/multipart/complete
完成分片上传文件
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | RestEntity«CompleteMultipartUploadModel» |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/multipart/complete
请求体
uploadMetadata
类型: application/json
引用模型:CompleteMultipartUploadMetadata
请求体示例
{
"md5": "string",
"partETags": [
{
"partETag": "string",
"partNumber": 0
}
],
"rollingCheckSum": "string",
"uploadId": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| md5 | string | 否 | 完整文件md5值 |
| partETags | array | 否 | 分片上传的分片实体标识,用于完成分片上传的数据检测 |
| rollingCheckSum | string | 否 | 分片rollingCheckSum |
| uploadId | string | 否 | 分片上传Id |
HTTP响应示例
响应200
{
"data": {
"clientId": "string",
"createBy": "string",
"md5": "string",
"projectId": "string",
"size": 0
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: CompleteMultipartUploadModel | 否 | None |
23.初始化分片上传
POST /bimserver/sfs/v3/projects/{projectId}/file/multipart/init
初始化分片上传
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| test | query | None | 是 | |
| test3 | query | None | 是 | |
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | RestEntity«InitMultipartUploadModel» |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/multipart/init?test=xxx&test3=xxx
HTTP响应示例
响应200
{
"data": {
"uploadId": "string",
"uploadParts": null
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: InitMultipartUploadModel | 否 | None |
24.列出分片数据
GET /bimserver/sfs/v3/projects/{projectId}/file/multipart/parts
列出分片数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| uploadId | query | None | 是 | |
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | RestEntity«ListPartsModel» |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/multipart/parts?uploadId=xxx
HTTP响应示例
响应200
{
"data": {
"parts": [
{
"createAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"partETag": "string",
"partNumber": 0,
"partSize": 0
}
],
"uploadId": "string"
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: ListPartsModel | 否 | None |
25.逐个上传分片文件
POST /bimserver/sfs/v3/projects/{projectId}/file/multipart/upload
如果该分片号对应的分片文件之前已上传到服务器,会被覆盖
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| uploadId | query | None | 是 | |
| partNumber | query | None | 是 | |
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | RestEntity«UploadPartModel» |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/multipart/upload?uploadId=xxx&partNumber=xxx
请求体
类型: multipart/form-data
HTTP响应示例
响应200
{
"data": {
"createAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"partETag": "string",
"partNumber": 0,
"partSize": 0
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: UploadPartModel | 否 | None |
存储位置
26.获取带有签证信息下的路径
POST /bimserver/sfs/v3/projects/{projectId}/file/download/signedUrl
获取带有签证信息的下载文件的URL
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | ResponseEntity |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/download/signedUrl
请求体
签名的参数信息
类型: application/json
引用模型:获取访问文件签名的参数 元数据
请求体示例
{
"expire": 0,
"urn": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| expire | integer | 否 | 过期时间,单位为秒 |
| urn | string | 否 | SFS File URN |
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
27.获取带有签证信息的下载文件夹的路径
POST /bimserver/sfs/v3/projects/{projectId}/download/signedUrl
获取带有签证信息的下载文件夹的URL
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | ResponseEntity |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/download/signedUrl
请求体
签名的参数信息
类型: application/json
引用模型:获取访问文件夹签名的参数 元数据
请求体示例
{
"expire": 0,
"urns": [
"string"
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| expire | integer | 否 | 过期时间,单位为秒 |
| urns | array | 否 | SFS URN 集合 |
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
28.根据文件夹树批量创建文件夹
POST /bimserver/sfs/v3/projects/{projectId}/folder/tree
根据文件夹树批量创建文件夹。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | OK | / | RestEntity«List«FolderNodeModel»» |
| 201 | Created | / | |
| 401 | Unauthorized | / | |
| 403 | Forbidden | / | |
| 404 | Not Found | / |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/tree
请求体
需要的文件夹树节点元数据
类型: application/json
引用模型:FolderTree
请求体示例
{
"nodes": [
{
"id": "string",
"name": "string",
"parentId": "string"
}
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| nodes | array | 否 | 文件夹树节点 |
HTTP响应示例
响应200
{
"data": [
{
"id": "string",
"name": "string",
"outId": "string",
"parentId": "string"
}
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | array | 否 | 响应实体数据 |
29.根据文件或文件夹的Urn获取路径去
GET /bimserver/sfs/v3/path
包含本身和一个 父节点链,以父节点链上每个节点的兄弟节点
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| urn | query | None | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FilePathEntryModelDataWrapper |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/path?urn=xxx
HTTP响应示例
响应200
{
"data": {
"brothers": [
{
"id": "string",
"name": "string"
}
],
"child": {
"$ref": "#/components/schemas/FilePathEntryModel"
},
"id": "string",
"name": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FilePathEntryModel | 否 | None |
| x_ref | object: Reference | 否 | None |
30.None
GET /bimserver/sfs/v3/uploadUrl
根据Type获取文件上传需要的url
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/uploadUrl
文件夹管理
31.在指定的文件夹下面创建一个新的文件夹
POST /bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/folder
顶级(根)Folder 的 Folder ID 为 @root 。
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| parentId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FolderModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/folder
请求体
Folder 元数据,创建一个 Folder 的必要参数,例如文件夹名称和User Data等
类型: application/json
引用模型:FolderMetadata
请求体示例
{
"external_id": "string",
"name": "string",
"owner": "string",
"user_data": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| external_id | string | 否 | Folder 对应的一个 外部系统的 ID,方便系统间的相互引用。 |
| name | string | 否 | Folder 的名称 |
| owner | string | 否 | Folder创建者的用户名。 |
| user_data | string | 否 | Folder 附属的用户数据 (User Data),用来存放一些自定义的数据。 |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FolderModel | 否 | None |
| x_ref | object: Reference | 否 | None |
32.批量删除文件和文件夹
DELETE /bimserver/sfs/v3/projects/{projectId}/entries
批量删除文件和文件夹
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | EntryModelListDataWrapper |
| 204 | No Content | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/entries
请求体
被删除的Entry的相关参数
类型: /
引用模型:EntryMetadataList
请求体示例
{
"entryMetadataList": [
{
"id": "string",
"type": "string"
}
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| entryMetadataList | array | 否 | 用于存放 File 或 Folder 的实体的列表 |
HTTP响应示例
响应200
{
"data": {
"entryModels": [
{
"id": "string",
"name": "string",
"type": "string"
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: EntryModelList | 否 | None |
| x_ref | object: Reference | 否 | None |
33.删除一个文件夹
DELETE /bimserver/sfs/v3/projects/{projectId}/folder/{folderId}
删除一个Folder
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | ResponseEntity |
| 204 | No Content | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/{folderId}
HTTP响应示例
响应200
{
"body": {},
"statusCode": "string",
"statusCodeValue": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| body | object | 否 | None |
| statusCode | string | 否 | None |
| statusCodeValue | integer | 否 | None |
34.获取一个文件夹下面的文件或者文件夹
GET /bimserver/sfs/v3/projects/{projectId}/folder/{folderId}
获取一个 Folder 下面的所有的 Folder 和 File
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| pageNumber | query | None | 是 | |
| pageSize | query | None | 否 | |
| orderBy | query | None | 否 | |
| direction | query | None | 否 | |
| projectId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | PageModelForSfs |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/{folderId}?pageNumber=xxx&pageSize=xxx&orderBy=xxx&direction=xxx
HTTP响应示例
响应200
{
"data": {
"file_count": 0,
"files": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
}
],
"folder_count": 0,
"folders": [
{
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
}
]
},
"first": "unknown type - boolean",
"hasNext": "unknown type - boolean",
"hasPrevious": "unknown type - boolean",
"last": "unknown type - boolean",
"pageNumber": 0,
"pageSize": 0,
"totalElements": 0,
"totalPage": 0
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileEntryModelList | 否 | None |
| first | boolean | 否 | None |
| hasNext | boolean | 否 | 是否有下一页 |
| hasPrevious | boolean | 否 | 是否有上一页 |
| last | boolean | 否 | None |
| pageNumber | integer | 否 | 当前是第几页 |
| pageSize | integer | 否 | 当前页的最大记录数 |
| totalElements | integer | 否 | 内容总共有多少条 |
| totalPage | integer | 否 | 总共有多少页 |
35.移动文件夹
PUT /bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/folder
移动文件夹:将源文件夹(targetId)移动到当前文件夹(parentId)下
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| parentId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FolderModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/parent/{parentId}/folder
请求体
fileCopyParam
类型: application/json
引用模型:FileCopyParameter
请求体示例
{
"mode": "string",
"source_id": "string",
"source_version": 0,
"target_name": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| mode | string | 否 | 文件复制模式(copy |
| source_id | string | 否 | 源文件id |
| source_version | integer | 否 | 源文件版本 |
| target_name | string | 否 | 目标文件名称 |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FolderModel | 否 | None |
| x_ref | object: Reference | 否 | None |
文件元数据管理
36.获取指定文件的元数据
GET /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/info
获取指定 File 的元数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/info
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
37.获取指定文件版本元数据
GET /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}/info
获取指定 File version 的元数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 | |
| version | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileVersionModelDataWrapper |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{version}/info
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileVersionModel | 否 | None |
| x_ref | object: Reference | 否 | None |
38.获取搜索元数据信息
GET /bimserver/sfs/v3/file/search
获取搜索元数据信息
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | application/json | SearchParameter |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | application/json | ExceptionModel |
| 403 | 无权访问请求的资源 | application/json | ExceptionModel |
| 404 | Not Found | / | |
| 500 | 服务内部错误,请查看详细的错误原因 | application/json | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/file/search
HTTP响应示例
响应200
{
"searchExpressions": [
{
"availableValues": [
{
"ordinal": 0,
"value": "string"
}
],
"searchAttribute": {
"businessType": "string",
"dataType": "string",
"extendedAttribute": "unknown type - boolean",
"key": "string",
"name": "string",
"order": 0,
"resourceType": "string"
},
"searchOperators": [
{
"name": "string",
"type": "string"
}
]
}
]
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| searchExpressions | array | 否 | None |
39.通过文件id修改文件的元数据
PUT /bimserver/sfs/v3/projects/{projectId}/file/{fileId}
通过 File ID 修改一个 File 的元数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}
请求体
metadata
类型: application/json
引用模型:FileMetadata
请求体示例
{
"ext_attr": {},
"external_id": "string",
"name": "string",
"owner": "string",
"user_data": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| ext_attr | object | 否 | 用户自定义扩展属性值 |
| external_id | string | 否 | External ID |
| name | string | 否 | File 名称 |
| owner | string | 否 | File owner |
| user_data | string | 否 | User Data |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"current_version": 0,
"current_version_size": 0,
"ext_attr": {},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"project_id": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"versions": [
{
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
}
]
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileModel | 否 | None |
| x_ref | object: Reference | 否 | None |
40.通过版本修改一个文件的版本元数据
PUT /bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{versionId}/info
通过 Verison 修改一个 File Version 的元数据
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| fileId | path | string | 是 | |
| versionId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FileVersionModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/file/{fileId}/versions/{versionId}/info
请求体
metadata
类型: application/json
引用模型:FileVersionMetadata
请求体示例
{
"comments": "string",
"ext_attr": {},
"external_id": "string",
"owner": "string",
"user_data": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| comments | string | 否 | None |
| ext_attr | object | 否 | 用户自定义扩展属性值 |
| external_id | string | 否 | None |
| owner | string | 否 | None |
| user_data | string | 否 | None |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"comments": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"entry_id": "string",
"ext_attr": {},
"ext_attr_value_models": [
{
"entryId": "string",
"id": "string",
"namespaceId": "string",
"resourceId": "string",
"value": "string"
}
],
"external_id": "string",
"id": 0,
"md5": "string",
"owner": "string",
"size": 0,
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string",
"version": 0
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FileVersionModel | 否 | None |
| x_ref | object: Reference | 否 | None |
41.更新一个文件夹下的元数据信息
PUT /bimserver/sfs/v3/projects/{projectId}/folder/{folderId}
如果元数据中有些参数是空值或者是未设置,该值将不会被更新
授权
| 请求头 | 内容 |
|---|---|
| Authorization | Bearer token |
请求参数
| 名称 | 位置 | 类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| projectId | path | string | 是 | |
| folderId | path | string | 是 |
响应消息
| HTTP状态码 | 原因 | 类型 | 引用模型 |
|---|---|---|---|
| 200 | 请求成功 | / | FolderModelDataWrapper |
| 201 | Created | / | |
| 401 | 未授权,请检查Authorization的Header的Access Token是否设置正确 | / | ExceptionModel |
| 403 | 无权访问请求的资源 | / | ExceptionModel |
| 404 | Not Found | / | |
| 409 | 请求的资源不存在 | / | ExceptionModel |
| 500 | 服务内部错误,请查看详细的错误原因 | / | ExceptionModel |
HTTP请求示例
请求路径
http://192.168.0.105:18020/bimserver/sfs/v3/projects/{projectId}/folder/{folderId}
请求体
需要更新的元数据信息
类型: application/json
引用模型:FolderMetadata
请求体示例
{
"external_id": "string",
"name": "string",
"owner": "string",
"user_data": "string"
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| external_id | string | 否 | Folder 对应的一个 外部系统的 ID,方便系统间的相互引用。 |
| name | string | 否 | Folder 的名称 |
| owner | string | 否 | Folder创建者的用户名。 |
| user_data | string | 否 | Folder 附属的用户数据 (User Data),用来存放一些自定义的数据。 |
HTTP响应示例
响应200
{
"data": {
"active": "unknown type - boolean",
"client_id": "string",
"create_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"external_id": "string",
"id": "string",
"locked": "unknown type - boolean",
"lockedAt": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"lockedBy": "string",
"name": "string",
"owner": "string",
"parent_id": "string",
"path": "string",
"update_at": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
},
"user_data": "string"
},
"x_ref": {
"users": [
{
"address": "string",
"avatarLink": "string",
"birthDate": "string",
"cardSetting": "string",
"city": "string",
"company": "string",
"country": "string",
"createAt": "string",
"department": "string",
"displayName": "string",
"district": "string",
"education": "string",
"email": "string",
"employeeNumber": "string",
"enabled": "unknown type - boolean",
"gender": 0,
"notifySettings": [
"string"
],
"phoneNumber": "string",
"phoneNumberValidated": "unknown type - boolean",
"postcode": "string",
"professionCertificate": "string",
"province": "string",
"qqNumber": "string",
"realName": "string",
"remark": "string",
"resumes": [
{
"id": "string",
"previousPosition": "string",
"workYears": 0
}
],
"title": "string",
"titleCertificate": "string",
"updateAt": "string",
"userid": "string",
"username": "string",
"workTime": {
"date": 0,
"day": 0,
"hours": 0,
"minutes": 0,
"month": 0,
"nanos": 0,
"seconds": 0,
"time": 0,
"timezoneOffset": 0,
"year": 0
}
}
]
}
}
字段说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | object: FolderModel | 否 | None |
| x_ref | object: Reference | 否 | None |