POST /nodes/{nodeId}/lock
基本信息
Note: 该端点在Alfresco 5.2和更高版本中可用。
锁定nodes nodeId。
Note:您只能锁定文件。更具体地说,只有类型为cm:content
或cm:content
的子类型的nodes才能被锁定。
该锁由当前用户拥有,并防止其他用户或进程对该nodes进行更新,直到释放该锁为止。
如果timeToExpire未设置或为零,则锁定永不过期。否则,timeToExpire是锁定到期之前的秒数。
锁到期时,将释放该锁。
如果该nodes已被锁定,并且用户是锁的所有者,那么将使用新的timeToExpire更新该锁。
默认情况下,将应用一个锁,该锁允许所有者更新或删除该nodes。您可以使用type将锁定类型更改为以下之一:
- ALLOW_OWNER_CHANGES(默认)对nodes的更改只能由锁所有者进行。该枚举的值与Alfresco Public Java API中
org.alfresco.service.cmr.lock.LockType
中描述的不赞成使用的WRITE_LOCK相同。这是默认值。 - FULL不允许任何用户进行任何更改。该枚举的值与Alfresco Public Java API中
org.alfresco.service.cmr.lock.LockType
中描述的不赞成使用的READ_ONLY_LOCK相同。
默认情况下,锁保留在数据库中。您可以通过将生命周期(lifetime)属性设置为EPHEMERAL来创建易失的内存中锁。例如,如果您频繁使用短期锁定,则可以选择使用EPHEMERAL锁定,而在重新启动存储库时不需要保留这些短期锁定。在这种情况下,您不需要将锁写入数据库的开销。
如果无法对nodes进行锁定,那么将返回错误。
请求方式: POST
请求API :/ nodes / {nodeId} / lock
响应等级(状态200)
成功回应
{ "entry": { "id": "string", "name": "string", "nodeType": "string", "isFolder": true, "isFile": true, "isLocked": false, "modifiedAt": "2021-01-08T08:52:11.418Z", "modifiedByUser": { "displayName": "string", "id": "string" }, "createdAt": "2021-01-08T08:52:11.418Z", "createdByUser": { "displayName": "string", "id": "string" }, "parentId": "string", "isLink": true, "isFavorite": true, "content": { "mimeType": "string", "mimeTypeName": "string", "sizeInBytes": 0, "encoding": "string" }, "aspectNames": [ "string" ], "properties": {}, "allowableOperations": [ "string" ], "path": { "elements": [ { "id": "string", "name": "string", "nodeType": "string", "aspectNames": [ "string" ] } ], "name": "string", "isComplete": true }, "permissions": { "isInheritanceEnabled": true, "inherited": [ { "authorityId": "string", "name": "string", "accessStatus": "ALLOWED" } ], "locallySet": [ { "authorityId": "string", "name": "string", "accessStatus": "ALLOWED" } ], "settable": [ "string" ] } } }
响应内容类型 applicaiton/json
Query参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
include | Array[string] | 否 | 返回有关该nodes的其他信息。 可以请求以下可选字段:allowableOperations;association;isLink;isFavorite;isLocked;path;permissions | |
fields | Array[string] | 否 | field名称的list。 例如,如果您想节省整体带宽,则可以使用此参数来限制响应中返回的field。 例如,如果您想节省整体带宽,则可以使用此参数来限制响应中返回的field。 该列表适用于返回的单个实体或集合中的条目。 如果API方法也支持include参数,则除了在fields参数中指定的fields外,还返回include参数中指定的fields。 |
Path参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
nodeId | string | 是 | nodes的标识符。 |
Body参数(nodeBodyLock)
request body示例
{ "timeToExpire": 0, "type": "ALLOW_OWNER_CHANGES", "lifetime": "PERSISTENT" }
错误信息描述
状态码 | 原因 |
400 | 无效的参数:nodeId无效,或者nodeBodyLock无效,或者试图在非文件nodes上锁定 |
401 | 验证失败 |
403 | 当前用户无权锁定nodeId |
404 | nodeId不存在 |
422 | 无法锁定nodeId |
default | 意外错误 |
返回结果示例
{ "error": { "errorKey": "string", "statusCode": 0, "briefSummary": "string", "stackTrace": "string", "descriptionURL": "string", "logId": "string" } }