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 BaseController
Web Services Controller to expose the functionality of the
ProductFacade and 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, INVALID_REQUEST_BODY_ERROR_MESSAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcountProducts(String query, javax.servlet.http.HttpServletResponse response) voidcountProductStockByLocation(String productCode, String location, Double latitude, Double longitude, javax.servlet.http.HttpServletResponse response) protected GeoPointcreateGeoPoint(Double latitude, Double longitude) protected PageableDatacreatePageableData(int currentPage, int pageSize, String sort) createProductReview(String productCode, ReviewWsDTO review, String fields) createProductReview(String productCode, String fields, javax.servlet.http.HttpServletRequest request) Deprecated, for removal: This API element is subject to removal in a future version.since 2005.protected StoreFinderStockSearchPageDatadoSearchProductStockByLocation(String productCode, String location, Double latitude, Double longitude, int currentPage, int pageSize) protected voidfilterExpressUpdateQueue(List<ProductExpressUpdateElementData> products, List<String> catalogInfo) getExpressUpdateProducts(String timestamp, String catalog, String fields) getLocationProductStock(String productCode, String location, Double latitude, Double longitude, int currentPage, int pageSize, String fields, javax.servlet.http.HttpServletResponse response) getProduct(String productCode, String fields) getProductReferences(String productCode, int pageSize, String referenceType, String fields) protected List<ProductReferenceTypeEnum>getProductReferenceTypeEnums(String referenceType) getProductReviews(String productCode, Integer maxCount, String fields) getProducts(String query, int currentPage, int pageSize, String sort, String searchQueryContext, String fields, javax.servlet.http.HttpServletResponse response) getStoreProductStock(String baseSiteId, String productCode, String storeName, String fields) getSuggestions(String term, int max, String fields) validateAndSplitCatalog(String catalog) Methods inherited from class de.hybris.platform.ycommercewebservices.v2.controller.BaseController
addPaginationField, getDataMapper, handleDuplicateUidException, handleErrorInternal, handleHttpMessageNotReadableException, handleModelNotFoundException, logParam, logParam, logValue, sanitize, setDataMapper, setTotalCountHeader, setTotalCountHeader, validate
-
Constructor Details
-
ProductsController
public ProductsController()
-
-
Method Details
-
getProducts
@RequestMapping(value="/search", method=GET) @ResponseBody public ProductSearchPageWsDTO getProducts(@RequestParam(required=false) String query, @RequestParam(defaultValue="0") int currentPage, @RequestParam(defaultValue="20") int pageSize, @RequestParam(required=false) String sort, @RequestParam(required=false) String searchQueryContext, @RequestParam(defaultValue="DEFAULT") String fields, javax.servlet.http.HttpServletResponse response) -
countProducts
@RequestMapping(value="/search", method=HEAD) public void countProducts(@RequestParam(required=false) 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 String productCode, @RequestParam(defaultValue="DEFAULT") String fields) -
getStoreProductStock
@RequestMapping(value="/{productCode}/stock/{storeName}", method=GET) @ResponseBody public StockWsDTO getStoreProductStock(@PathVariable String baseSiteId, @PathVariable String productCode, @PathVariable String storeName, @RequestParam(defaultValue="DEFAULT") String fields) -
getLocationProductStock
@RequestMapping(value="/{productCode}/stock", method=GET) @ResponseBody public StoreFinderStockSearchPageWsDTO getLocationProductStock(@PathVariable String productCode, @RequestParam(required=false) String location, @RequestParam(required=false) Double latitude, @RequestParam(required=false) Double longitude, @RequestParam(required=false,defaultValue="0") int currentPage, @RequestParam(required=false,defaultValue="20") int pageSize, @RequestParam(defaultValue="DEFAULT") String fields, javax.servlet.http.HttpServletResponse response) -
countProductStockByLocation
@RequestMapping(value="/{productCode}/stock", method=HEAD) public void countProductStockByLocation(@PathVariable String productCode, @RequestParam(required=false) String location, @RequestParam(required=false) Double latitude, @RequestParam(required=false) Double longitude, javax.servlet.http.HttpServletResponse response) -
doSearchProductStockByLocation
protected StoreFinderStockSearchPageData doSearchProductStockByLocation(String productCode, String location, Double latitude, Double longitude, int currentPage, int pageSize) -
getProductReviews
@RequestMapping(value="/{productCode}/reviews", method=GET) @ResponseBody public ReviewListWsDTO getProductReviews(@PathVariable String productCode, @RequestParam(required=false) Integer maxCount, @RequestParam(defaultValue="DEFAULT") String fields) -
createProductReview
@Deprecated(since="2005", forRemoval=true) @RequestMapping(value="/{productCode}/reviews", method=POST) @ResponseStatus(CREATED) @ResponseBody public ReviewWsDTO createProductReview(@PathVariable String productCode, @RequestParam(defaultValue="DEFAULT") String fields, javax.servlet.http.HttpServletRequest request) Deprecated, for removal: This API element is subject to removal in a future version.since 2005. Please usecreateProductReview(String, ReviewWsDTO, String)instead. -
createProductReview
@RequestMapping(value="/{productCode}/reviews", method=POST, consumes={"application/json","application/xml"}) @ResponseStatus(CREATED) @ResponseBody public ReviewWsDTO createProductReview(@PathVariable String productCode, @RequestBody ReviewWsDTO review, @RequestParam(defaultValue="DEFAULT") String fields) -
getProductReferences
@RequestMapping(value="/{productCode}/references", method=GET) @ResponseBody public ProductReferenceListWsDTO getProductReferences(@PathVariable String productCode, @RequestParam(required=false,defaultValue="2147483647") int pageSize, @RequestParam(required=false) String referenceType, @RequestParam(defaultValue="DEFAULT") String fields) -
getProductReferenceTypeEnums
-
createPageableData
-
createGeoPoint
-
getSuggestions
@RequestMapping(value="/suggestions", method=GET) @ResponseBody public SuggestionListWsDTO getSuggestions(@RequestParam String term, @RequestParam(defaultValue="10") int max, @RequestParam(defaultValue="DEFAULT") String fields) -
getExpressUpdateProducts
@Secured("ROLE_TRUSTED_CLIENT") @RequestMapping(value="/expressupdate", method=GET) @ResponseBody public ProductExpressUpdateElementListWsDTO getExpressUpdateProducts(@RequestParam String timestamp, @RequestParam(required=false) String catalog, @RequestParam(defaultValue="DEFAULT") String fields) -
filterExpressUpdateQueue
protected void filterExpressUpdateQueue(List<ProductExpressUpdateElementData> products, List<String> catalogInfo) -
validateAndSplitCatalog
-