• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Spring 게시판 삼품 추가와 수정 Service 관련 질문입니다.

삼품 추가와 수정 Service 관련 질문입니다.

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #143771

    Roch
    참가자
    안녕하세요, 강의 재미있게 보면서 코딩하고 있습니다.
    
    문득 궁금한 점이 생겨서 질문 남깁니다.
    상품 추가 부분과 상품 수정 부분이 둘 다 .save()를 사용하는데, id값이 중복인게 있으면 수정, 아니면 추가인 것에서 착안하여
    어차피 둘 다 똑같은 예외처리를 해야하니까 상품 추가 메소드의 파라미터에 id값을 추가하여
    id값이 0이면 추가, 아니면 수정을 할 수 있게 처리를 했습니다.
    
    다만 이렇게 만들고 나서 생각해보니 한 메소드 안에 두 가지 기능이 들어가 있는게 되어 버려서
    그냥 예외처리 부분을 따로 메소드로 빼내어 쓰고 추가, 수정 메소드를 나누는게 더 좋은 코딩법일까요?
    
    #143773

    codingapple
    키 마스터
    분리해놨자 재사용도 딱히 안할 것 같으면 한 곳에 두개 기능 넣어도 별 문제 없습니다 
    근데 그냥 .save만 써도 지가 알아서 수정할지 추가할지 구분해주지 않나요
    #143774

    Roch
    참가자
    넵, item에 담아서 save에 던져주면 알아서 구분해 주는 것 까지는 확인했습니다. 감사합니다.
    
    다만 이렇게 하고 나니 또 궁금한 게 생겼는데 두 메소드를 합치고 나면 물품 수정을 할 때는 id값을 비롯한 모든 정보를 넘겨 받지만
    물품 추가를 할 때는 id값이 없으니까 id 파라미터에 어떤 값을 넣어 보내주는게 가장 좋은 방법일지 모르겠습니다.
    지금은 해 놓은 방법은 어차피 itemRepository에서 해당하는 id값이 없으면 isPresent()에서 걸러지니까 
    물품 추가 때는 강제로 0을 넘겨버리게 해놨는데 아무리 생각해 봐도 이거보다 좋은 방법이 있지 않을까 해서 여쭤보게 되었습니다.
    
    #143785

    codingapple
    키 마스터
    그럼 그냥 수정, 추가용 서비스를 각각 별도로 만들어두는게 나을 수도요
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠