We need to provide the specification (or contract) by which users can interact with Warehouse Service.
In Java terms, we need only Interfaces and Dtos in the scope of this task.
Provide a contract for exploring the products by filter criteria, e.g. when the customer is going to search by book, we need to provide him with all products with boot tag, if any tags provided then return all products.
Provide a contract for exploring the single product, e.g. when the customer has found an interesting item from the catalog and wants to see details of it.
For now, we don't need sorting or paging here.
Acceptance Criteria
The spec submodule is added
Defined the Request, Response objects
Defined the Interface for interacting with the Warehouse Service
Well-documented specification with JavaDoc and OpenApi
Ability to extend the contract in the future without impacting clients (versioning)
Context
exploring the products by filter criteria
, e.g. when the customer is going to search bybook
, we need to provide him with all products withboot
tag, if any tags provided then return all products.exploring the single product
, e.g. when the customer has found an interesting item from the catalog and wants to see details of it.Acceptance Criteria
spec
submodule is addedTechnical Details
springdoc-openapi-starter-webflux-ui
andspringdoc-openapi-starter-webmvc-ui