Class ProductsController
- java.lang.Object
-
- de.hybris.platform.ycommercewebservices.v2.controller.BaseController
-
- de.hybris.platform.ycommercewebservices.v2.controller.ProductsController
-
@Controller @RequestMapping("/{baseSiteId}/products") public class ProductsController extends BaseControllerWeb Services Controller to expose the functionality of theProductFacadeand SearchFacade.
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.ycommercewebservices.v2.controller.BaseController
BASIC_FIELD_SET, DEFAULT_CURRENT_PAGE, DEFAULT_FIELD_SET, DEFAULT_PAGE_SIZE, HEADER_TOTAL_COUNT
-
-
Constructor Summary
Constructors Constructor Description ProductsController()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcountProducts(java.lang.String query, javax.servlet.http.HttpServletResponse response)voidcountProductStockByLocation(java.lang.String productCode, java.lang.String location, java.lang.Double latitude, java.lang.Double longitude, javax.servlet.http.HttpServletResponse response)protected GeoPointcreateGeoPoint(java.lang.Double latitude, java.lang.Double longitude)protected PageableDatacreatePageableData(int currentPage, int pageSize, java.lang.String sort)ReviewWsDTOcreateProductReview(java.lang.String productCode, ReviewWsDTO review, java.lang.String fields)ReviewWsDTOcreateProductReview(java.lang.String productCode, java.lang.String fields, javax.servlet.http.HttpServletRequest request)protected StoreFinderStockSearchPageDatadoSearchProductStockByLocation(java.lang.String productCode, java.lang.String location, java.lang.Double latitude, java.lang.Double longitude, int currentPage, int pageSize)protected static java.util.Set<ProductOption>extractOptions(java.lang.String options)protected voidfilterExpressUpdateQueue(java.util.List<ProductExpressUpdateElementData> products, java.util.List<java.lang.String> catalogInfo)ProductExpressUpdateElementListWsDTOgetExpressUpdateProducts(java.lang.String timestamp, java.lang.String catalog, java.lang.String fields)StoreFinderStockSearchPageWsDTOgetLocationProductStock(java.lang.String productCode, java.lang.String location, java.lang.Double latitude, java.lang.Double longitude, int currentPage, int pageSize, java.lang.String fields, javax.servlet.http.HttpServletResponse response)ProductWsDTOgetProduct(java.lang.String productCode, java.lang.String fields)ProductReferenceListWsDTOgetProductReferences(java.lang.String productCode, int pageSize, java.lang.String referenceType, java.lang.String fields)ReviewListWsDTOgetProductReviews(java.lang.String productCode, java.lang.Integer maxCount, java.lang.String fields)ProductSearchPageWsDTOgetProducts(java.lang.String query, int currentPage, int pageSize, java.lang.String sort, java.lang.String searchQueryContext, java.lang.String fields, javax.servlet.http.HttpServletResponse response)StockWsDTOgetStoreProductStock(java.lang.String baseSiteId, java.lang.String productCode, java.lang.String storeName, java.lang.String fields)SuggestionListWsDTOgetSuggestions(java.lang.String term, int max, java.lang.String fields)protected java.util.List<java.lang.String>validateAndSplitCatalog(java.lang.String catalog)-
Methods inherited from class de.hybris.platform.ycommercewebservices.v2.controller.BaseController
addPaginationField, getDataMapper, handleDuplicateUidException, handleErrorInternal, handleModelNotFoundException, logParam, logParam, logParam, logValue, sanitize, setDataMapper, setTotalCountHeader, setTotalCountHeader, validate
-
-
-
-
Method Detail
-
extractOptions
protected static java.util.Set<ProductOption> extractOptions(java.lang.String options)
-
getProducts
@RequestMapping(value="/search", method=GET) @ResponseBody public ProductSearchPageWsDTO getProducts(@RequestParam(required=false) java.lang.String query, @RequestParam(defaultValue="0") int currentPage, @RequestParam(defaultValue="20") int pageSize, @RequestParam(required=false) java.lang.String sort, @RequestParam(required=false) java.lang.String searchQueryContext, @RequestParam(defaultValue="DEFAULT") java.lang.String fields, javax.servlet.http.HttpServletResponse response)
-
countProducts
@RequestMapping(value="/search", method=HEAD) public void countProducts(@RequestParam(required=false) java.lang.String query, javax.servlet.http.HttpServletResponse response)
-
getProduct
@RequestMapping(value="/{productCode}", method=GET) @Cacheable(value="productCache", key="T(de.hybris.platform.commercewebservicescommons.cache.CommerceCacheKeyGenerator).generateKey(true,true,#productCode,#fields)") @ResponseBody public ProductWsDTO getProduct(@PathVariable java.lang.String productCode, @RequestParam(defaultValue="DEFAULT") java.lang.String fields)
-
getStoreProductStock
@RequestMapping(value="/{productCode}/stock/{storeName}", method=GET) @ResponseBody public StockWsDTO getStoreProductStock(@PathVariable java.lang.String baseSiteId, @PathVariable java.lang.String productCode, @PathVariable java.lang.String storeName, @RequestParam(defaultValue="DEFAULT") java.lang.String fields) throws WebserviceValidationException, StockSystemException
-
getLocationProductStock
@RequestMapping(value="/{productCode}/stock", method=GET) @ResponseBody public StoreFinderStockSearchPageWsDTO getLocationProductStock(@PathVariable java.lang.String productCode, @RequestParam(required=false) java.lang.String location, @RequestParam(required=false) java.lang.Double latitude, @RequestParam(required=false) java.lang.Double longitude, @RequestParam(required=false,defaultValue="0") int currentPage, @RequestParam(required=false,defaultValue="20") int pageSize, @RequestParam(defaultValue="DEFAULT") java.lang.String fields, javax.servlet.http.HttpServletResponse response)
-
countProductStockByLocation
@RequestMapping(value="/{productCode}/stock", method=HEAD) public void countProductStockByLocation(@PathVariable java.lang.String productCode, @RequestParam(required=false) java.lang.String location, @RequestParam(required=false) java.lang.Double latitude, @RequestParam(required=false) java.lang.Double longitude, javax.servlet.http.HttpServletResponse response)
-
doSearchProductStockByLocation
protected StoreFinderStockSearchPageData doSearchProductStockByLocation(java.lang.String productCode, java.lang.String location, java.lang.Double latitude, java.lang.Double longitude, int currentPage, int pageSize)
-
getProductReviews
@RequestMapping(value="/{productCode}/reviews", method=GET) @ResponseBody public ReviewListWsDTO getProductReviews(@PathVariable java.lang.String productCode, @RequestParam(required=false) java.lang.Integer maxCount, @RequestParam(defaultValue="DEFAULT") java.lang.String fields)
-
createProductReview
@RequestMapping(value="/{productCode}/reviews", method=POST) @ResponseStatus(CREATED) @ResponseBody public ReviewWsDTO createProductReview(@PathVariable java.lang.String productCode, @RequestParam(defaultValue="DEFAULT") java.lang.String fields, javax.servlet.http.HttpServletRequest request) throws WebserviceValidationException- Throws:
WebserviceValidationException
-
createProductReview
@RequestMapping(value="/{productCode}/reviews", method=POST, consumes={"application/json","application/xml"}) @ResponseStatus(CREATED) @ResponseBody public ReviewWsDTO createProductReview(@PathVariable java.lang.String productCode, @RequestBody ReviewWsDTO review, @RequestParam(defaultValue="DEFAULT") java.lang.String fields) throws WebserviceValidationException- Throws:
WebserviceValidationException
-
getProductReferences
@RequestMapping(value="/{productCode}/references", method=GET) @ResponseBody public ProductReferenceListWsDTO getProductReferences(@PathVariable java.lang.String productCode, @RequestParam(required=false,defaultValue="2147483647") int pageSize, @RequestParam(required=false) java.lang.String referenceType, @RequestParam(defaultValue="DEFAULT") java.lang.String fields)
-
createPageableData
protected PageableData createPageableData(int currentPage, int pageSize, java.lang.String sort)
-
createGeoPoint
protected GeoPoint createGeoPoint(java.lang.Double latitude, java.lang.Double longitude)
-
getSuggestions
@RequestMapping(value="/suggestions", method=GET) @ResponseBody public SuggestionListWsDTO getSuggestions(@RequestParam java.lang.String term, @RequestParam(defaultValue="10") int max, @RequestParam(defaultValue="DEFAULT") java.lang.String fields)
-
getExpressUpdateProducts
@Secured("ROLE_TRUSTED_CLIENT") @RequestMapping(value="/expressupdate", method=GET) @ResponseBody public ProductExpressUpdateElementListWsDTO getExpressUpdateProducts(@RequestParam java.lang.String timestamp, @RequestParam(required=false) java.lang.String catalog, @RequestParam(defaultValue="DEFAULT") java.lang.String fields) throws RequestParameterException- Throws:
RequestParameterException
-
filterExpressUpdateQueue
protected void filterExpressUpdateQueue(java.util.List<ProductExpressUpdateElementData> products, java.util.List<java.lang.String> catalogInfo)
-
validateAndSplitCatalog
protected java.util.List<java.lang.String> validateAndSplitCatalog(java.lang.String catalog) throws RequestParameterException- Throws:
RequestParameterException
-
-