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 creating a new warehouse, e.g. when the owner is going to rent a new place as a warehouse and we need to register this place in our system
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)
Technical Details
Explore versioning of REST API
Explore what is Specification Driven Development
Explore what is Api First Approach
Explore springdoc-openapi-starter-webflux-ui and springdoc-openapi-starter-webmvc-ui
Remember about SOLID (Interface Segregation Principle)
Context
creating a new warehouse
, e.g. when the owner is going to rent a new place as a warehouse and we need to register this place in our systemAcceptance Criteria
spec
submodule is addedTechnical Details
springdoc-openapi-starter-webflux-ui
andspringdoc-openapi-starter-webmvc-ui