Skip to content

Commit bf09222

Browse files
authored
Merge pull request #277 from prgrms-web-devcourse-final-project/develop
Feat : 업로드, 다운로드응답 분리, 업로드 응답엔 URL 대신 uuid를 반환 (#276)
2 parents e4a0f7d + 43f4b9e commit bf09222

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

back/src/main/java/com/back/domain/file/video/controller/VideoController.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.back.domain.file.video.controller;
22

3+
import com.back.domain.file.video.dto.DownLoadUrlGetResponse;
34
import com.back.domain.file.video.dto.controller.UploadUrlGetResponse;
45
import com.back.domain.file.video.dto.service.PresignedUrlResponse;
56
import com.back.domain.file.video.service.FileManager;
@@ -21,15 +22,24 @@ public class VideoController {
2122
@Operation(summary = "업로드용 URL 요청", description = "파일 업로드를 위한 Presigned URL을 발급받습니다.")
2223
public RsData<UploadUrlGetResponse> getUploadUrl(@RequestParam String filename) {
2324
PresignedUrlResponse uploadUrl = fileManager.getUploadUrl(filename);
24-
UploadUrlGetResponse response = new UploadUrlGetResponse(uploadUrl.url().toString(), uploadUrl.expiresAt());
25+
String urlString = uploadUrl.url().toString();
26+
String uuid = "";
27+
var matcher = java.util.regex.Pattern.compile(
28+
"([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})"
29+
).matcher(urlString);
30+
if (matcher.find()) {
31+
uuid = matcher.group(1);
32+
}
33+
34+
UploadUrlGetResponse response = new UploadUrlGetResponse(uuid, uploadUrl.expiresAt());
2535
return new RsData<>("200", "업로드용 URL 요청완료", response);
2636
}
2737

2838
@GetMapping("/videos/download")
2939
@Operation(summary = "다운로드용 URL 요청", description = "파일 다운로드를 위한 Presigned URL을 발급받습니다.")
30-
public RsData<UploadUrlGetResponse> getDownloadUrls(@RequestParam String objectKey) {
40+
public RsData<DownLoadUrlGetResponse> getDownloadUrls(@RequestParam String objectKey) {
3141
PresignedUrlResponse downloadUrl = fileManager.getDownloadUrl(objectKey);
32-
UploadUrlGetResponse response = new UploadUrlGetResponse(downloadUrl.url().toString(), downloadUrl.expiresAt());
42+
DownLoadUrlGetResponse response = new DownLoadUrlGetResponse(downloadUrl.url().toString(), downloadUrl.expiresAt());
3343
return new RsData<>("200", "다운로드용 URL 요청완료", response);
3444
}
3545
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.back.domain.file.video.dto;
2+
3+
import java.time.LocalDateTime;
4+
5+
public record DownLoadUrlGetResponse(
6+
String url,
7+
LocalDateTime expiresAt
8+
) {
9+
}

back/src/main/java/com/back/domain/file/video/dto/controller/UploadUrlGetResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.time.LocalDateTime;
44

55
public record UploadUrlGetResponse(
6-
String url,
6+
String uuid,
77
LocalDateTime expiresAt
88
) {
99
}

0 commit comments

Comments
 (0)