diff --git a/src/main/java/kr/re/etri/autoflow/controllers/MinioAttachmentController.java b/src/main/java/kr/re/etri/autoflow/controllers/MinioAttachmentController.java index 7b51a4b..7f76f56 100644 --- a/src/main/java/kr/re/etri/autoflow/controllers/MinioAttachmentController.java +++ b/src/main/java/kr/re/etri/autoflow/controllers/MinioAttachmentController.java @@ -13,13 +13,9 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springdoc.core.annotations.ParameterObject; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.InputStreamResource; import org.springframework.data.domain.Page; import org.springframework.http.*; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.*; -import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import java.io.InputStream; diff --git a/src/main/java/kr/re/etri/autoflow/controllers/MlflowController.java b/src/main/java/kr/re/etri/autoflow/controllers/MlflowController.java index 0b3ba02..773dcd4 100644 --- a/src/main/java/kr/re/etri/autoflow/controllers/MlflowController.java +++ b/src/main/java/kr/re/etri/autoflow/controllers/MlflowController.java @@ -25,6 +25,26 @@ public class MlflowController { .build(); } + @Operation(summary = "Experiment 조회", description = "Experiment 이름으로 MLflow Experiment 정보를 조회합니다.") + @GetMapping(value = "/experiment", produces = MediaType.APPLICATION_JSON_VALUE) + public Map getExperimentByName(@RequestParam String experimentName) { + Map response = webClient.get() + .uri(uriBuilder -> uriBuilder + .path("/experiments/get-by-name") + .queryParam("experiment_name", experimentName) + .build()) + .retrieve() + .bodyToMono(Map.class) + .block(); + + if (response == null || !response.containsKey("experiment")) { + throw new RuntimeException("Experiment not found: " + experimentName); + } + + return (Map) response.get("experiment"); + } + + @Operation(summary = "Experiment의 Run 목록 조회", description = "주어진 Experiment ID의 Run을 최대 1000개까지 조회합니다.") @GetMapping(value = "/runs", produces = MediaType.APPLICATION_JSON_VALUE) public Mono> getRuns(@RequestParam String experimentId) {