Class HeadlessPageService

java.lang.Object
sk.iway.iwcm.headless.service.HeadlessPageService

@Service public class HeadlessPageService extends Object
Service responsible for resolving pages by path and rendering them for the headless API. Reuses existing ShowDoc/ComponentParser internals.
  • 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 resolve
      lng - optional language override
      preview - whether to show unpublished content (requires admin session)
      request - the current HTTP request
      response - 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 render
      request - the HTTP request
      response - the HTTP response wrapper for capturing rendered output
      Returns:
      the rendered HTML body string
    • extractBody

      public String extractBody(DocDetails doc, jakarta.servlet.http.HttpServletRequest request)
      Extracts the body content from a document.
    • buildSeoMetadata

      public SeoMetadata buildSeoMetadata(DocDetails doc)
      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.