본문 바로가기

Stack25

Entity table 에 @setter 쓰지않기 + 대처방안 이전 까지 게시글 수정 @PATCH 로직을 수행하기위해 이런식으로 set으로 변경값을 넣어주기 위해서 위 사진처럼 Entity 에 @Setter 를 넣어 수정 로직을 만들었었다 하지만 엔티티에 @setter 를 금지하는 원칙이있는것을 알게되었다 몇가지의 이유가있는데 첫번쨰, 객체의 일관성을 유지하기 힘들다 두번쨰, setter는 그 코드로 그 의도를 알기 힘들다 그래서 위사진 처럼 change엔티티 라는 메서드를 생성해주어서 위 사진처럼 수정할 엔티티 객체를 불러낸다음 change 매서드를 사용하여 다시 저장 해주면 @Setter 를 엔티티에 쓰지않고도 값을 수정할수있다! 2022. 7. 12.
Exception 처리 Exceptionhandler 사용법 일단 ErrorCode enum 클래스에 상태 코드를 적용시켜주고 private final int status를 넣어줍니다 ErrorResponse 클래스에 생성자를 만들고 방금만든 ErrorCode를 파라미터 값에 넣어줍니다 ErrorCode enum 클래스에 해당되는 같은이름으로 클래스를 지어주고 extends 로 에러 종류를 골라줍니다 여기서는 웹 로직 실행중에 일어날수있는 에러를 처리하는 부분이라서 Runtime Exception으로 처리하였습니다! 그다음 GlobalExceptionHandler 에 어노테이션 @ExceptionHandler 를 넣고 에러처리 {클래스이름} .class 값을 넣어줍니다! 여기서 리턴타입과 메서드는 저희가 ResponseEntity를 사용했기 때문에 이렇게 반환을 .. 2022. 7. 7.
ERD 구조와 데이터 처리를 위한 Arraylist 활용 - 마켓컬리 클론코딩 이번주에 마켓컬리 클론코딩을 할때 설계한 ERD 구조이다 기존에 작업했던 프로젝트들보다 코드가 복잡한느낌이있었지만 데이터 설계적 측면에서 다양한 값이 나올수있는부분은 따로 테이블을 만든다는점 ! 에서 좋은참고가되었다! 이런식의 구조로 product 에 따라오는 productdetail 테이블 을 따로 만들어주어 기능적으로 메인페이지나 상품목록조회에서 필요한 사진, 가격, 상품이름들을 빠로 빼두고 세부 페이지에서 필요한 냉장방법, 배송 기간들의 데이터를 따로 관리하게 된다. ============================================================================================ 서비스부분 생성자에 ArrayList를 사용하여 연관디비 내용 추가하.. 2022. 6. 27.
미니프로젝트 에러해결 @NoArgsConstructor arc를 통해 검색 기능을 만들때 다음과같은 에러가떴다 json parse 이때 @NoArgsConstructor 를 사용하여 해결하였다 생성자를 자동생성하는 어노테이션이다 파라미터가 없는 생성자를 만들어준다 2022. 6. 13.
인텔리제이 브레이크포인트와 디버거를 통해 오류 해결하기 인텔리제이를 통한 작업중에 데이터 변수로 인한 문제때문에 작업속도가 지연될때가 있습니다. 이때 오류가 발생하는 지점이 어떤곳인지, 오류가 왜, 어떻게 발생했는지 알수있으면 오류로 인한 문제해결시간 시간을 줄일수 있습니다 이런식의 데이터 입력값 문제가 생겼을때 본문코드 좌측의 빈공간을 눌러 브레이크 포인트를 걸고 디버깅 상태에서 개발중인 웹을 실행하면 다음과 같은 화면이 나오게 됩니다 이렇게 정지 포인트에 들어가는 식별자와 식별자 안쪽의 입력변수의 타입을 확인할수있습니다. 입력변수의 값이 맞지 않아서 생기는문제가 서버인지 클라이언트 부분인지, 또 어떤 자료형이 들어왔는지 확인후 코드를 수정하여 에러를 해결 할수있습니다. 이방법은 스프링 서버 코드에서만 적용이 되는데, 후에 html 부분의 자료 값문제일때에.. 2022. 6. 6.
MVC 패턴 이해와 사용법 MVC란 MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다. 출처: 오픈듀토리얼스 위의 그림처럼 사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 됩니다. 저건 하나의 로직을 설명하기 위해 만든 그림이고 사실 MVC 패턴의 구조는 출처:XESCHOOL 이 그림이 더 어울릴 것입니다. Controller가 view에도 영향을 미치는(화살표를 보자) 부분이 있어야 합니다. 위의 그림을 보면서 다시 MVC 패턴이 뭔지 감을 잡도록 해봅시다. 모델은 컨트롤러에 컨트롤러는 .. 2022. 6. 5.