在 CQ 中,如果我请求诸如 localhost:4502/content/geometrixx/en.json
之类的资源,我将获得 JSON 格式的节点信息。这同样适用于 XML 扩展。
我的问题是,如果URL扩展名是json
,那么节点信息以JSON格式呈现是在哪里实现的?
基本上,扩展名只是简单的文本和 URL 结构的另一部分。简单地附加 json
不会神奇地获取 JSON 格式的信息。
显然,我们必须使用这些信息来编写以 JSON 格式返回节点信息的逻辑。
我正在尝试了解 CQ 的内部运作方式。也许获取 JSON 的概念在 Apache Sling 中也是相同的?我不知道这是否是CQ特有的,但要点是一样的。我也尝试过 /system/console/jcrresolver
,但没有帮助。
最佳答案
这是 Apache Sling 的一个功能。所有 GET 请求都会调用 DefaultGetServlet。 servlet 检查请求的扩展并使用相应的渲染器(如果已启用)。
查看DefaultGetServlet的代码以及此 directory 中的渲染器例如 HTML renderer , JSON renderer和 XML renderer .
文档位于此处:https://sling.apache.org/documentation/bundles/rendering-content-default-get-servlets.html
关于aem - AEM 如何解析 JSON 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35965947/