SpringBoot

· SpringBoot
OpenFeign 인터페이스 구성 OpenFeign은 인터페이스로 구성되어있으며 실제 동작할 때 구현체를 자동으로 생성해준다. 그런데 응답값을 받아올 때는 어떤 형식으로 받아오지? 라는 생각이 들었다. 풀어서 얘기하면 GetMapping으로 조회하여 데이터를 받아 올 때 응답 형식을 제대로 만들어주지 않는다면 오류가 난다. @FeignClient(name = "instagram", url = "") public interface InstagramFeignClient { @GetMapping("/{user_id}") Map getFaceBookUserPages( @PathVariable("user_id") String userId, @RequestParam("access_token") String acce..
· SpringBoot
회사 프로젝트를 진행하면서 알림 기능을 구현하는 과정 안에서 불편함을 느꼈다. 알림 기능은 부가적인 기능이라고 생각한다. 쉽게 생각하면 특정 로직 이후 그것에 대한 이벤트 처리라고 생각한다. ex) 회원 가입 후 → 회원 가입 알림 , 게시글 작성 후 → 게시글 작성 알림 그래서 항상 비즈니스 로직 사이에 껴있어야하고, 알림 객체를 DI 받아야 하기에 객체는 알림 객체에 의존적일 수밖에 없었다. 즉, 강결합 문제가 생겼다. 이 문제를 해결하기 위해 해결방법을 찾아보았고 스프링에서 제공해주는 EventListener를 통해 해결할 수 있었다. 예제 코드 @Service @RequiredArgsConstructor @Slf4j public class EventService { private final App..
· SpringBoot
SpringBoot + S3 연동하여 이미지 올리기 S3 권한 액세스 부여 또는 S3 버킷 생성은 생략하겠다. (검색해 보면 많은 자료 존재) 물론 순서가 바뀌어도 상관없다. Amazon S3 버킷 생성 및 권한 생성 IAM 역할 지정 액세스 키 및 시크릿 키 발급하여 로컬에 저장 스프링 부트 S3 라이브러리 추가 및 설정 Controller 구현 Service 구현 라이브러리 추가 build.gradle // aws s3 implementation 'com.amazonaws:aws-java-sdk-s3:1.12.364' // 현재는 s3만 사용할 것이므로 s3 의존성만 추가 implementation group: 'org.springframework.cloud', name: 'spring-cloud-s..
· SpringBoot
스프링 예외 처리 Guide 초기 프로젝트를 설계를 해야하는데 예외처리를 효율적으로 관리할 수 있을까? 라는 생각이 들어 구글링을 뒤적뒤적 해보면서 찾던 중 좋을 글을 찾아 중요한 부분을 요약해보려 한다. 통일된 Error Response 객체 생성하기 통일한 객체를 에러 응답 객체로 사용함으로써 Front 에서 항상 같은 JSON 데이터 구조로 에러를 받을 수 있다. 통일된 객체를 사용함으로써 코드 유지보수성과 데이터가 어떻게 있는지 명확하고 추론하기 쉽다. @ControllerAdvice 로 모든 예외를 핸들링 하여라 모든 예외를 한곳에서 처리하고 관리하기 수월하다. 스프링 자체에서 제공해주는 라이브러리 또는 자체적으로 설치한 라이브러리 등에서 발생하는 예외들을 @ExceptionHandler 을 통..
Dmin3
'SpringBoot' 카테고리의 글 목록