Представление контента CQ как спокойного веб-сервиса
Мы сталкиваемся со сценарием, в котором нам необходимо предоставить контент CQ (в виде XML или JSON), который будет служить точкой интеграции. Любые указатели для достижения этой цели были бы полезны.
Сан -
3 ответа
Все доволен! вы можете просто получить json-вывод для каждого узла, но, вероятно, вы захотите реализовать собственный сервлет для конкретных требований сервера. попробуй это:
http://192.168.56.56:4503/content/geometrixx-outdoors/en/men/coats.infinity.json http://192.168.56.56:4503/content/geometrixx-outdoors/en/men/coats.3.json
Взгляните на документацию по слингу и узнайте, как слинг разрешает ресурсы (шпаргалка)
Контент в AEM может быть сделан доступным для конечных пользователей несколькими способами, такими как HTML-страница, PDF, XML, JSON.
Sitemap.xml - один из похожих материалов. Вы можете создавать собственные API-интерфейсы restful для чтения содержимого из репозитория JCR, помещать их в нужный формат (xml/json или какой-либо другой) и предоставлять его конечным пользователям. Как сказал @chrysler, взгляните на слинг-документы для получения дополнительной информации.
Напишите селектор jsp(json.html.jsp) в своем компоненте и вызовите метод сервиса, который будет возвращать JSON в зависимости от ваших потребностей.
Таким образом, ваш URL запроса с селектором скажем../home.json.html вернет желаемый вывод json.
Примечание. Убедитесь, что вы не переопределяете вызовы json по умолчанию. Например: когда ваш URL-адрес запроса имеет вид../home.json, а ваш селектор jsp - json.jsp, это переопределит готовый вызов json, и вы обнаружите, что диалог авторинга работает не ожидаемым.