Skip to content

Commit

Permalink
add: s3 dependency, configuration 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
eckrin committed Nov 10, 2023
1 parent 2f84d1e commit aba2946
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 1 deletion.
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ dependencies {
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
//s3 bucket (img)
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
Expand Down
33 changes: 33 additions & 0 deletions src/main/java/com/kusitms/jipbap/config/S3Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.kusitms.jipbap.config;

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class S3Config {

@Value("${cloud.aws.credentials.access-key}")
private String accessKey;

@Value("${cloud.aws.credentials.secret-key}")
private String secretKey;

@Value("${cloud.aws.region.static}")
private String region;

@Bean
public AmazonS3Client amazonS3Client() {
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);

return (AmazonS3Client) AmazonS3ClientBuilder
.standard()
.withRegion(region)
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.build();
}
}
2 changes: 1 addition & 1 deletion src/main/java/com/kusitms/jipbap/food/FoodController.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class FoodController {

private final FoodService foodService;

@Operation(summary = "가게 등록하기")
@Operation(summary = "음식 등록하기")
@PostMapping
public CommonResponse<FoodDto> registerFood(@Auth AuthInfo authInfo, RegisterFoodRequestDto dto) {
return new CommonResponse<>(foodService.registerFood(authInfo.getEmail(), dto));
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/com/kusitms/jipbap/test/TestController.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

Expand All @@ -34,4 +35,17 @@ public String test2(@Auth AuthInfo authInfo) {
User user = userRepository.findByEmail(authInfo.getEmail()).orElseThrow(()->new InvalidEmailException("회원정보가 존재하지 않습니다."));
return "Healthy Connection";
}

@Operation(summary = "s3 이미지 저장 테스트")
@PostMapping("/image")
public String saveImageTest() {
return null;
}

@Operation(summary = "s3 이미지 조회 테스트")
@GetMapping("/image")
public String getImageTest() {
return null;
}

}
14 changes: 14 additions & 0 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ spring:
host: ${REDIS_URL}
port: ${REDIS_PORT}

cloud:
aws:
s3:
bucket: ${BUCKET_NAME}
credentials:
access-key: ${BUCKET_ACCESS_KEY}
secret-key: ${BUCKET_SECRET_KEY}
region:
static: ap-northeast-2
auto: false
stack:
auto: false


secret:
pwd: ${SECRET_PWD}
jwt: ${SECRET_JWT}

0 comments on commit aba2946

Please sign in to comment.