A flexible and extensible files upload solution for Spring Boot applications. Easily switch between providers like MinIO, AWS S3, and Cloudinary without modifying your business logic.
- Modular design using the Strategy Pattern
- Easily configurable via application properties
- Switch providers at runtime via request parameter or default setting
- Simple to extend with custom providers
- A common
FileServiceinterface defines the contract. - Each provider implements this interface:
CloudinaryServiceS3ServiceMinioService
- A strategy resolver maps provider keys to implementations.
- You can:
- Set the default provider in
application.yml - Override it per request using a
providerparameter
- Set the default provider in
