Class CatalogSearchEndpoint

java.lang.Object
com.broadleafcommerce.search.catalog.web.endpoint.CatalogSearchEndpoint

@FrameworkRestController @FrameworkMapping("/catalog-search") @DataRouteByKey("search") public class CatalogSearchEndpoint extends Object
Search operation for Products
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    protected final com.broadleafcommerce.search.core.service.TypeAheadService
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    CatalogSearchEndpoint(com.broadleafcommerce.search.core.service.SearchService<? extends com.broadleafcommerce.search.api.domain.SearchResponse> searchService, com.broadleafcommerce.search.core.service.TypeAheadService typeAheadService, com.broadleafcommerce.search.core.service.SearchRedirectMatchService searchRedirectMatchService, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected com.broadleafcommerce.search.api.domain.SearchResponse
    buildSearchResponseForRedirect(com.broadleafcommerce.search.api.domain.SearchRedirect searchRedirect)
    Build a search response indicating that a search redirect was encountered.
    protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils
     
    protected com.broadleafcommerce.search.core.service.SearchRedirectMatchService
     
    protected com.broadleafcommerce.search.core.service.SearchService<? extends com.broadleafcommerce.search.api.domain.SearchResponse>
     
    protected com.broadleafcommerce.search.core.service.TypeAheadService
     
    com.broadleafcommerce.search.api.domain.SearchResponse
    search(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.search.api.domain.SearchRequest searchRequest, com.broadleafcommerce.search.api.domain.CustomerContext customerContext, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     
    com.broadleafcommerce.search.api.domain.typeahead.TypeAheadResponse
    suggest(com.broadleafcommerce.search.api.domain.typeahead.TypeAheadRequest typeAheadRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • BASE_URI

      public static final String BASE_URI
      See Also:
    • typeAheadService

      protected final com.broadleafcommerce.search.core.service.TypeAheadService typeAheadService
  • Constructor Details

    • CatalogSearchEndpoint

      public CatalogSearchEndpoint(com.broadleafcommerce.search.core.service.SearchService<? extends com.broadleafcommerce.search.api.domain.SearchResponse> searchService, com.broadleafcommerce.search.core.service.TypeAheadService typeAheadService, com.broadleafcommerce.search.core.service.SearchRedirectMatchService searchRedirectMatchService, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils)
  • Method Details

    • search

      @FrameworkGetMapping @Policy(permissionRoots={"PRODUCT","CATALOG"}) public com.broadleafcommerce.search.api.domain.SearchResponse search(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.search.api.domain.SearchRequest searchRequest, @RequestHeader(value="X-Customer-Context",required=false) com.broadleafcommerce.search.api.domain.CustomerContext customerContext, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) throws com.broadleafcommerce.search.api.SearchException, com.broadleafcommerce.search.api.InvalidSearchException
      Throws:
      com.broadleafcommerce.search.api.SearchException
      com.broadleafcommerce.search.api.InvalidSearchException
    • buildSearchResponseForRedirect

      protected com.broadleafcommerce.search.api.domain.SearchResponse buildSearchResponseForRedirect(com.broadleafcommerce.search.api.domain.SearchRedirect searchRedirect)
      Build a search response indicating that a search redirect was encountered.
      Parameters:
      searchRedirect - the redirect encountered
      Returns:
      the search response for the redirect
    • suggest

      @FrameworkGetMapping("/suggest") @Policy(permissionRoots={"PRODUCT","CATALOG"}) public com.broadleafcommerce.search.api.domain.typeahead.TypeAheadResponse suggest(com.broadleafcommerce.search.api.domain.typeahead.TypeAheadRequest typeAheadRequest, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) throws com.broadleafcommerce.search.api.SearchException
      Throws:
      com.broadleafcommerce.search.api.SearchException
    • getSearchService

      protected com.broadleafcommerce.search.core.service.SearchService<? extends com.broadleafcommerce.search.api.domain.SearchResponse> getSearchService()
    • getTypeAheadService

      protected com.broadleafcommerce.search.core.service.TypeAheadService getTypeAheadService()
    • getSearchRedirectMatchService

      protected com.broadleafcommerce.search.core.service.SearchRedirectMatchService getSearchRedirectMatchService()
    • getAuthenticationUtils

      protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils getAuthenticationUtils()