Class 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 String BASE_URI  
      protected com.broadleafcommerce.search.core.service.TypeAheadService 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)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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.search.core.service.SearchRedirectMatchService getSearchRedirectMatchService()  
      protected com.broadleafcommerce.search.core.service.SearchService<? extends com.broadleafcommerce.search.api.domain.SearchResponse> getSearchService()  
      protected com.broadleafcommerce.search.core.service.TypeAheadService getTypeAheadService()  
      com.broadleafcommerce.search.api.domain.SearchResponse search​(javax.servlet.http.HttpServletRequest request, com.broadleafcommerce.search.api.domain.SearchRequest searchRequest, 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)  
    • Field Detail

      • typeAheadService

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

      • 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)
    • Method Detail

      • search

        @FrameworkGetMapping
        @Policy(permissionRoots={"PRODUCT","CATALOG"})
        public com.broadleafcommerce.search.api.domain.SearchResponse search​(javax.servlet.http.HttpServletRequest request,
                                                                             com.broadleafcommerce.search.api.domain.SearchRequest searchRequest,
                                                                             @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()