분류 전체보기

    이코테 Chapter03. 그리디

    보호되어 있는 글입니다.

    [Spring Boot] 예외 처리 전략 - @ControllerAdvice를 이용한 Exception 처리

    각 controller method마다 예외처리를 해주는 것은 효율적인 객체지향 프로그래밍이라고 보기 어려운 부분이 있다는 피드백을 보았다. 이를 해결하기 위해 @ControllerAdvice를 이용한 예외 처리에 대해 다뤄보고자 한다. 1. @ControllerAdvice란? - @Controller나 @RestController에서 발생한 예외를 한 곳에서 관리하고 처리할 수 있게 도와주는 어노테이션이다. - 하나하나 이해하기 보다 , 아래의 소스코드를 참고하며 예외처리를 한곳에서 처리하도록 AOP 를 진행하면 좋을것이다. - 추가로 스프링 및 라이브러리 등 자체적으로 발생하는 예외는 @ExceptionHandler 으로 추가해서 적절한 Error Response를 만들어서 처리하자. - 비즈니스 요..

    쇼핑몰 만들기 3. 상품 등록 기능 구현 - 1 (SpringBoot)

    쇼핑몰 만들기 3. 상품 등록 기능 구현 - 1 (SpringBoot)

    ❗ TDD를 적용해 개발했습니다. [ 요구사항 ] 상품 등록 시 상품 정보, 상품 이미지 정보 등록 상품 이미지 파일의 경우 로컬 환경에 저장 상품의 이미지는 최대 5개 저장. 선택한 파일이 없더라도 상품 이미지 row 자체는 저장하고, 이미지 파일명, 원본 이미지 파일명, 이미지 조회 경로는 null로 저장 상품 등록 후 상품 수정 페이지로 이동 [ Repository 계층 개발 ] 먼저 ItemRepository라는 빈이 잘 띄워지는지부터 테스트를 합니다. @DataJpaTest public class ItemRepositoryTest { @Autowired private ItemRepository itemRepository; @Test public void ItemRepository가Null이아님(..

    쇼핑몰 만들기 2. 회원 정보 수정 기능

    쇼핑몰 만들기 2. 회원 정보 수정 기능

    [요구사항] 로그인 한 회원의 아이디 클릭하면 수정 페이지로 이동 이름과 주소 수정 기능 소셜 로그인으로 가입한 회원의 경우 회원 가입 후 수정 페이지로 이동 요구사항 3의 경우 주소를 입력받기 위해 설정했습니다. 먼저 회원 정보 수정을 위한 로직을 작성하겠습니다. @Test public void 회원정보수정테스트_실패() throws Exception { //given doReturn(Optional.empty()).when(memberRepository).findByEmail(email); //when String changeAddress = "newAddress"; String changeName = "newName"; final BusinessException result = assertThrow..