From 0b2ffd978f6375e68d3098f51a366c748f009f60 Mon Sep 17 00:00:00 2001 From: bjkim Date: Tue, 28 Oct 2025 13:38:02 +0900 Subject: [PATCH] =?UTF-8?q?[ADD]=20DynamicMinioAttachmentController?= =?UTF-8?q?=EC=97=90=20Swagger=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80,?= =?UTF-8?q?=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EB=A1=9C=EC=BB=AC=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=98=88=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DynamicMinioAttachmentController.java | 16 ++++++++++++++++ .../service/DynamicMinioAttachmentService.java | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/kr/re/etri/autoflow/controllers/DynamicMinioAttachmentController.java b/src/main/java/kr/re/etri/autoflow/controllers/DynamicMinioAttachmentController.java index 0a19656..031c011 100644 --- a/src/main/java/kr/re/etri/autoflow/controllers/DynamicMinioAttachmentController.java +++ b/src/main/java/kr/re/etri/autoflow/controllers/DynamicMinioAttachmentController.java @@ -1,5 +1,8 @@ package kr.re.etri.autoflow.controllers; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import kr.re.etri.autoflow.entity.MinioAttachmentEntity; import kr.re.etri.autoflow.payload.request.ProjectBaseSearchRequest; import kr.re.etri.autoflow.service.DynamicMinioAttachmentService; @@ -85,9 +88,22 @@ public class DynamicMinioAttachmentController { } @PostMapping("/download-to-server") + @Operation( + summary = "MinIO 객체 서버 다운로드", + description = "MinIO에 저장된 객체를 서버의 지정된 경로로 다운로드합니다.", + responses = { + @ApiResponse(responseCode = "200", description = "파일 다운로드 성공"), + @ApiResponse(responseCode = "500", description = "파일 다운로드 실패") + } + ) public String downloadFileToServer( + @Parameter(description = "다운로드할 MinIO 객체 이름", example="4/9d08fa7973cf4c39a0979bb4d70c640b/artifacts/sklearn-model/model.pkl", required = true) @RequestParam String objectName, + + @Parameter(description = "MINIO 서버 타입 (type1[kubeflow],type2[mlflow])",example="type2", required = true) @RequestParam String type, + + @Parameter(description = "서버에 저장할 로컬 경로", example="downloads/temp", required = false) @RequestParam String localPath ) { try { diff --git a/src/main/java/kr/re/etri/autoflow/service/DynamicMinioAttachmentService.java b/src/main/java/kr/re/etri/autoflow/service/DynamicMinioAttachmentService.java index 34d29c9..0c94bca 100644 --- a/src/main/java/kr/re/etri/autoflow/service/DynamicMinioAttachmentService.java +++ b/src/main/java/kr/re/etri/autoflow/service/DynamicMinioAttachmentService.java @@ -150,7 +150,7 @@ public class DynamicMinioAttachmentService { * MinIO에서 파일을 다운로드하여 서버 로컬에 저장 * @param objectName MinIO 객체 경로 * @param type MinIO 타입 - * @param localPath 서버에 저장할 로컬 경로 (예: /tmp/artifacts/) + * @param localPath 서버에 저장할 로컬 경로 (예: downloads/temp) * @return 저장된 로컬 파일 */ public File downloadFileToServer(String objectName, String type, String localPath) {