Alfresco REST Core API 通过 node-uuid 检索版本

问题描述

我正在开发基于 REST API 的 Alfresco 客户端。

但我还没有找到允许使用其节点 uuid 检索版本的方法 不知道其父 UUID

[ base url: /alfresco/api/-default-/public/alfresco/versions/1,api version: 1 ] 

enter image description here

解决方法

在不知道父 uuid 的情况下,在 Rest api 下检索文件的版本历史。

http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/{{fileId}}/versions

这将提供版本 1.0 的确切信息,与您可以检索所有版本的方式相同。 http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/695b8a62-b566-4d49-9a4f-8f509f8cae59/versions/1.0

{
    "list": {
        "pagination": {
            "count": 2,"hasMoreItems": false,"totalItems": 2,"skipCount": 0,"maxItems": 100
        },"entries": [
            {
                "entry": {
                    "isFolder": false,"isFile": true,"modifiedAt": "2021-02-26T14:56:05.677+0000","modifiedByUser": {
                        "id": "admin","displayName": "Administrator"
                    },"name": "CustomPage.PNG","id": "2.0","nodeType": "cm:content","content": {
                        "mimeType": "image/png","mimeTypeName": "PNG Image","sizeInBytes": 39779,"encoding": "UTF-8"
                    }
                }
            },{
                "entry": {
                    "isFolder": false,"modifiedAt": "2021-02-26T14:52:31.315+0000","id": "1.0","encoding": "UTF-8"
                    }
                }
            }
        ]
    }
}

下面的代码以版本节点信息的分页列表形式返回版本历史记录。

@Override
public CollectionWithPagingInfo<Node> readAll(String nodeId,Parameters parameters)
{
    NodeRef nodeRef = nodes.validateOrLookupNode(nodeId,null);

    VersionHistory vh = versionService.getVersionHistory(nodeRef);

    Map<String,UserInfo> mapUserInfo = new HashMap<>(10);
    List<String> includeParam = parameters.getInclude();
    
    List<Node> collection = null;
    if (vh != null)
    {
        collection = new ArrayList<>(vh.getAllVersions().size());
        for (Version v : vh.getAllVersions())
        {
            Node node = nodes.getFolderOrDocument(v.getFrozenStateNodeRef(),null,includeParam,mapUserInfo);
            mapVersionInfo(v,node);
            collection.add(node);
        }
    }
    
    return listPage(collection,parameters.getPaging());
}