Skip to content

Commit

Permalink
[DEV-000]: presignedUrl contentType 지정 (#94)
Browse files Browse the repository at this point in the history
  • Loading branch information
5uhwann authored Aug 31, 2024
1 parent 0441ec3 commit 2c8e4f4
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public record UpdateClubRequest(
String tag,
@Schema(description = "동아리 회장", example = "홍길동")
@NotNull(message = "동아리 회장은 필수입니다.")
String clubLeader,
String leader,
@Schema(description = "회장 전화번호", example = "010-1234-5678")
@NotNull(message = "전화번호는 필수입니다.")
String phoneNumber,
Expand Down Expand Up @@ -61,7 +61,7 @@ public UpdateClubCommand toCommand() {
.name(name)
.category(category)
.tag(tag)
.clubLeader(clubLeader)
.clubLeader(leader)
.phoneNumber(phoneNumber)
.location(location)
.startRecruitPeriod(startRecruitPeriod)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ public interface S3FileApi {
@ResponseStatus(HttpStatus.OK)
@SecurityRequirement(name = "AccessToken")
@GetMapping("/upload-url")
UploadUrlResponse getUploadUrl(@RequestParam("fileName") String fileName);
UploadUrlResponse getUploadUrl(@RequestParam String fileName, @RequestParam String contentType);

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class S3FileController implements S3FileApi {
private final S3FileService s3FileService;

@Override
public UploadUrlResponse getUploadUrl(String fileName) {
return s3FileService.generatePreSignedUrl(fileName);
public UploadUrlResponse getUploadUrl(String fileName, String contentType) {
return s3FileService.generatePreSignedUrl(fileName, contentType);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class S3FileService {

private final AmazonS3Client amazonS3Client;

public UploadUrlResponse generatePreSignedUrl(String fileName) {
public UploadUrlResponse generatePreSignedUrl(String fileName, String contentType) {
UUID fileId = UuidCreator.getTimeOrderedEpoch();
String s3FilePath = createFilePath(fileName, fileId);

Expand All @@ -39,6 +39,7 @@ public UploadUrlResponse generatePreSignedUrl(String fileName) {
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName,
s3FilePath)
.withMethod(HttpMethod.PUT)
.withContentType(contentType)
.withExpiration(expiration);

URL uploadUrl = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);
Expand Down
70 changes: 35 additions & 35 deletions src/main/resources/data.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,38 @@ insert into users(name, password, role, userid)
values ('ddingdong', '$2a$12$9BIi3IGc79rU3Xgbnxq/X.T37Hlfrf/lSc2/g0HLeM1g7HmFXE8v.', 'ADMIN', 'ddingdong11'),
('cow', '$2a$12$9BIi3IGc79rU3Xgbnxq/X.T37Hlfrf/lSc2/g0HLeM1g7HmFXE8v.', 'CLUB', 'cow11');

# INSERT INTO club(name,
# category,
# leader,
# tag,
# score,
# phone_number,
# location,
# user_id,
# start_recruit_period,
# end_recruit_period,
# regular_meeting,
# introduction,
# activity,
# ideal,
# form_url,
# profile_image_url,
# introduction_image_url)
# VALUES ('카우',
# '학술',
# '김세빈',
# 'IT',
# 0,
# '010-0000-0000',
# 'S1350',
# 2,
# NULL,
# NULL,
# '매주 월요일 18:00시',
# '동아리 소개입니다.',
# '동아리 활동내용입니다.',
# NULL,
# NULL,
# NULL,
# NULL
# );
INSERT INTO club(name,
category,
leader,
tag,
score,
phone_number,
location,
user_id,
start_recruit_period,
end_recruit_period,
regular_meeting,
introduction,
activity,
ideal,
form_url,
profile_image_url,
introduction_image_url)
VALUES ('카우',
'학술',
'김세빈',
'IT',
0,
'010-0000-0000',
'S1350',
2,
NULL,
NULL,
'매주 월요일 18:00시',
'동아리 소개입니다.',
'동아리 활동내용입니다.',
NULL,
NULL,
NULL,
NULL
);
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,13 @@ class S3FileServiceTest {
void generatePreSignedUrl() throws MalformedURLException {
//given
String fileName = "image.jpg";
String contentType = "image/jpg";

URL expectedUrl = new URL("https://test-bucket.s3.amazonaws.com/test/jpg/image.jpg");
given(amazonS3Client.generatePresignedUrl(any(GeneratePresignedUrlRequest.class))).willReturn(expectedUrl);

//when
UploadUrlResponse uploadUrlResponse = s3FileService.generatePreSignedUrl(fileName);
UploadUrlResponse uploadUrlResponse = s3FileService.generatePreSignedUrl(fileName, contentType);

//then
Pattern UUID7_PATTERN = Pattern.compile(
Expand Down

0 comments on commit 2c8e4f4

Please sign in to comment.