Skip to content

Rapter1990/SpringBootMinio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Minio

Main Information

📖 Information

  • MinIO is the only object storage suite available on every public cloud with supporting high-performance.
  • It is API compatible with Amazon S3 cloud storage service
  • It can handle unstructured data such as photos, videos, log files, backups, and container images with (currently) the maximum supported object size of 5TB.
  • Here is the explanation of the project
    • Implement the process of uploading file to Minio
    • Implement the process of downloading file from Minio
    • Implement the process of adding bucketname to Minio
    • Implement the process of listing all file from bucketname in Minio
    • Implement the process of listing all bucketnames in Minio
    • Implement the process of deleting bucketname from Minio
    • Implement the process of deleting file list from bucketname from Minio
    • Implement the process of deleting file from bucketname from Minio

🔨 Run the App

1 ) Install Docker Desktop. Here is the installation link : https://docs.docker.com/docker-for-windows/install/

2 ) Open Terminal under resources folder to run Minio on Docker Container

    docker-compose up -d

3 ) Open Minio in the Browser

    127.0.0.1:9001

4 ) Enter username and password

    username : minioadmin
    password : minioadmin

5 ) Explore Rest APIs

Method Url Description Valid Request Body Valid Request Params
POST /upload Upload file to Minio Info
POST /addBucket/{bucketName} Add BucketName in Minio Info
GET /show/{bucketName} Show defined Bucketname by its name in Minio Info
GET /showBucketName Show all BucketNames in Minio Info
DELETE /removeBucket/{bucketName} Delete defined bucketname from Minio Info
DELETE /removeObject/{bucketName}/{objectName} Delete defined object in defined bucketname from Minio Info
DELETE /removeListObject/{bucketName} Remove object list in defined bucketname from Minio Info
GET /showListObjectNameAndDownloadUrl/{bucketName} List object names and its download url in defined bucketname of Minio Info
GET /download/{bucketName}/{objectName} Download object in BucketName from Minio Info

Used Dependencies

  • Spring Boot Web
  • Minio
  • Lombok
  • AspectJ
  • Apache Commons Lang
  • Swagger

Swagger

Access : http://localhost:8085/swagger-ui.html

Valid Request Body

    file : Uploaded File
    bucketname : commons
   [
       "de43ab54e89f4879a2baf87df1570f56.PNG",
       "f107737d21534f42a72dcf009a64a07d.PNG"
   ]

Valid Request Params

   http://localhost:8085/minio/addBucket/test1
   http://localhost:8085/minio/show/commons
   http://localhost:8085/minio/showBucketName
   http://localhost:8085/minio/removeBucket/test1
   http://localhost:8085/minio/removeBucket/test1
   http://localhost:8085/minio/download/commons/ad94ff2e9b404772a1f9b98f4e11b4f9.PNG
   http://localhost:8085/minio/removeObject/commons/a2d203e188f94ccb8393e688deaf216a.jpg

Screenshots

Click here to show the screenshots of project

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

About

Spring Boot with the usage of Minio running on Docker , AOP and Exception Handling

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages