diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetApi.java b/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetApi.java index 15138c0ae4..19ae50b525 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetApi.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetApi.java @@ -306,7 +306,7 @@ ResponseEntity>> listDataset( produces = {"application/json"}, method = RequestMethod.HEAD) @PreAuthorize("hasAnyRole('OWNER', 'MAINTAINER', 'GUEST')") - void headDataset(@Parameter( + ResponseEntity headDataset(@Parameter( in = ParameterIn.PATH, description = "Project url", schema = @Schema()) diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetController.java b/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetController.java index bddfeed6f6..88e7e27587 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetController.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/DatasetController.java @@ -236,7 +236,13 @@ public ResponseEntity>> listDataset(String p } @Override - public void headDataset(String projectUrl, String datasetUrl, String versionUrl) { - swDatasetService.query(projectUrl, datasetUrl, versionUrl); + public ResponseEntity headDataset(String projectUrl, String datasetUrl, String versionUrl) { + try { + swDatasetService.query(projectUrl, datasetUrl, versionUrl); + return ResponseEntity.ok().build(); + } catch (Exception e) { + log.info("Head dataset result: NOT FOUND"); + return ResponseEntity.notFound().build(); + } } } diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeApi.java b/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeApi.java index 8f0b1d2475..7cf744f7d8 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeApi.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeApi.java @@ -287,7 +287,7 @@ void pull( produces = {"application/json"}, method = RequestMethod.HEAD) @PreAuthorize("hasAnyRole('OWNER', 'MAINTAINER', 'GUEST')") - void headRuntime( + ResponseEntity headRuntime( @Parameter( in = ParameterIn.PATH, description = "Project url", diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeController.java b/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeController.java index edaaa2075d..b9a4900d57 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeController.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/RuntimeController.java @@ -187,7 +187,13 @@ public void pull(String projectUrl, String runtimeUrl, String versionUrl, } @Override - public void headRuntime(String projectUrl, String runtimeUrl, String versionUrl) { - runtimeService.query(projectUrl, runtimeUrl, versionUrl); + public ResponseEntity headRuntime(String projectUrl, String runtimeUrl, String versionUrl) { + try { + runtimeService.query(projectUrl, runtimeUrl, versionUrl); + return ResponseEntity.ok().build(); + } catch (Exception e) { + log.info("Head runtime result: NOT FOUND"); + return ResponseEntity.notFound().build(); + } } } diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageApi.java b/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageApi.java index a00154b18f..5e95112c3a 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageApi.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageApi.java @@ -310,7 +310,7 @@ void pull( produces = {"application/json"}, method = RequestMethod.HEAD) @PreAuthorize("hasAnyRole('OWNER', 'MAINTAINER', 'GUEST')") - void headModel( + ResponseEntity headModel( @Parameter( in = ParameterIn.PATH, description = "Project url", diff --git a/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageController.java b/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageController.java index cc4571ac45..df3eb5850f 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageController.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/api/SWModelPackageController.java @@ -191,7 +191,13 @@ public void pull(String projectUrl, String modelUrl, String versionUrl, HttpServ } @Override - public void headModel(String projectUrl, String modelUrl, String versionUrl) { - swmpService.query(projectUrl, modelUrl, versionUrl); + public ResponseEntity headModel(String projectUrl, String modelUrl, String versionUrl) { + try { + swmpService.query(projectUrl, modelUrl, versionUrl); + return ResponseEntity.ok().build(); + } catch (Exception e) { + log.info("Head model result: NOT FOUND"); + return ResponseEntity.notFound().build(); + } } } diff --git a/server/controller/src/main/java/ai/starwhale/mlops/exception/api/StarWhaleApiException.java b/server/controller/src/main/java/ai/starwhale/mlops/exception/api/StarWhaleApiException.java index 0b862c0fde..92aa60ef0a 100644 --- a/server/controller/src/main/java/ai/starwhale/mlops/exception/api/StarWhaleApiException.java +++ b/server/controller/src/main/java/ai/starwhale/mlops/exception/api/StarWhaleApiException.java @@ -24,6 +24,7 @@ public class StarWhaleApiException extends RuntimeException { StarWhaleException starWhaleException; HttpStatus httpStatus; public StarWhaleApiException(StarWhaleException starWhaleException,HttpStatus httpStatus) { + super(starWhaleException.getTip()); this.starWhaleException = starWhaleException; this.httpStatus = httpStatus; }