liferay 7 jsonws API dlfileentry obc 参数示例

liferay 7 jsonws API dlfileentry obc parameter example

我想试试dflservice入口的web服务进入web服务门户

http://localhost:8080/api/jsonws 

但是使用的参数 obc 只是解释为类型为 com.liferay.portal.kernel.util.OrderByComparator 的 obc,我尝试了 null, 0, +obc:com.liferay.portlet.documentlibrary.util.comparator.FolderNameComparator,但总是得到相同的结果:

Conversion failed: com.liferay.portal.kernel.util.OrderByComparator 

正确的参数是什么

根据文档:

  1. 您不能传递 0,因为 obc 是对象类型参数。
  2. 要为 obc 传递 null 值,您需要在它前面加上破折号,例如:/-obc.
  3. 要传递对象参数的实例,您需要在参数前加上一个加号,例如:/+obc:com.liferay.portlet.documentlibrary.util.comparator.FolderNameComparator(应该也可以)。

由于com.liferay.portal.kernel.util.OrderByComparator是一个抽象class,你需要传递一个具体的实现。检查 DLImpl.getRepositoryModelOrderByComparator 方法的实现以进一步具体实现文档库的 OrderByComparator class。

另外,我希望你分享 URI,你正在尝试。所以,我也可以试试。

参考:
INVOKING JSON WEB SERVICES

更新:

JSONWS GUI 中存在错误,已修复: https://issues.liferay.com/browse/LPS-76955?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel

但是,URL 访问对我有效:

http://localhost:8080/api/jsonws/dlfileentry/get-file-entries/group-id/10184/folder-id/0/status/0/start/-1/end/-1/+obc:com.liferay.portlet.documentlibrary.util.comparator.RepositoryModelNameComparator

这里com.liferay.portlet.documentlibrary.util.comparator.RepositoryModelNameComparatorobc的具体实现。