Spring Boot REST API that presents the pricing information of qualified products in MyRetail
myRetail is a rapidly growing company with HQ in Richmond, VA and over 200 stores across the east coast. myRetail wants to make its internal data available to any number of client devices, from myRetail.com to native mobile apps.
- Java Spring Boot
- MongoDB
The application is setup to validate every product id that is provided to its endpoints against Redsky Product Catalog. Afterwards, it checks a specified mongoDB database for a product id match before any one of the 4 CRUD operations are performed. Ultimately, a response entity is returned to the calling client, along with a HTTP status response code that indicates the outcome of the operation.
- Redsky Catalog response body is bound to the CatalogProduct class
- MongoDB document field values are bound to the Price class
- Client reponse body is bound to the ProductInfo class
- Postman
- Insomnia
- cURL
- GET request @ http://myretail/v1/products/{productId}/
- POST request @ http://myretail/v1/products/prices/
- PUT request @ http://myretail/v1/products/{productId}/
- DELETE request @ http://myretail/v1/products/{productId}/
- 51514132
- 16953856
- 52177069
- 79369123
- 16700918
- 16476125
- 14641685
{
"id": 51514132,
"name": "2 Year Headphones & Speakers Protection Plan with Accidents coverage",
"current_price": {
"value": 35.49,
"currency_code": "USD"
}
}
- 7 Integration tests