Package sk.iway.iwcm.headless.service
Class HeadlessPageService
java.lang.Object
sk.iway.iwcm.headless.service.HeadlessPageService
Service responsible for resolving pages by path and rendering them
for the headless API. Reuses existing ShowDoc/ComponentParser internals.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classWrapper class to capture rendered HTML content from the component parser. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionBuilds SEO metadata from document fields.extractBody(DocDetails doc, jakarta.servlet.http.HttpServletRequest request) Extracts the body content from a document.booleanhasAdminSession(jakarta.servlet.http.HttpServletRequest request) Checks if the user has admin session for preview access.renderPageBody(int docId, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Renders the page body by invoking the existing WebjetComponentParser pipeline.resolvePage(String virtualPath, String lng, boolean preview, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Resolves a page by its virtual path and returns a PageResponse.
-
Constructor Details
-
HeadlessPageService
public HeadlessPageService()
-
-
Method Details
-
resolvePage
public PageResponse resolvePage(String virtualPath, String lng, boolean preview, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Resolves a page by its virtual path and returns a PageResponse.- Parameters:
virtualPath- the virtual path/slug to resolvelng- optional language overridepreview- whether to show unpublished content (requires admin session)request- the current HTTP requestresponse- the current HTTP response- Returns:
- PageResponse with resolved page data, or null if not found
-
renderPageBody
public String renderPageBody(int docId, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Renders the page body by invoking the existing WebjetComponentParser pipeline. This reuses the server-side rendering of dynamic WebJET apps.- Parameters:
docId- the document ID to renderrequest- the HTTP requestresponse- the HTTP response wrapper for capturing rendered output- Returns:
- the rendered HTML body string
-
extractBody
Extracts the body content from a document. -
buildSeoMetadata
Builds SEO metadata from document fields. -
hasAdminSession
public boolean hasAdminSession(jakarta.servlet.http.HttpServletRequest request) Checks if the user has admin session for preview access.
-