1

我在 Alfresco 中遇到了 Web 脚本及其 URL 模式和行为的问题,这取决于 Web 脚本是用 Java 还是 JavaScript 编写的。由于我花了一些时间弄清楚它,我想在这里分享它。

Alfresco 论坛中的原帖: https ://forums.alfresco.com/forum/developer-discussions/web-scripts/webscripts-url-mapping-behaves-differently-when-written-java


我刚刚注意到一些关于 Web 脚本的行为。也许有人知道为什么会发生这种情况,或者这是否是 Alfresco 中的错误。

我有两个(GET)网络脚本:

Webscript A的描述符中有以下 URL:

<url>/api/v1/folders/{path}</url>

Webscript B的描述符中有以下 URL:

<url>/api/v1/folders/{path}/files</url>

请注意,网址仅与最后的“ /files”不同。

现在奇怪的是,当两个 web 脚本都是用 javascript 编写的(因此也不需要在任何 xml 上下文文件中注册)时,无法到达 webscript B,因为 A 已经错误地捕获了请求(因为重叠的 URL模式,我假设,但没有检查匹配更好的其他模式)。例如,我将 URL 称为:

GET /api/v1/folders/myFolderX/files

我希望该请求会转到 webscript B(由于末尾的“/files”),但它会转到 webscript A,这当然会由于业务逻辑不匹配而引发错误。

4

1 回答 1

1

解决方法我用 Java 重写了 Web 脚本(并且没有更改描述符或 url 模式),将它们注册到我的 xml 上下文文件中,然后一切都按预期工作,我的请求实际上到达了 webscript B。

于 2015-07-29T06:06:01.030 回答