개발자

다중 POST, PUT 질문 !

2024년 04월 03일조회 126

선배님들 Teacher - 관계테이블 - Classroom 가 있는 경우에 Teacher의 POST를 통해 A,B 관계테이블을 다중 등록으로 3개를 등록했다고 가정해보겠습니다. Teacher의 PUT을 통해 Teacher와 관계테이블을 수정할 때 관계 테이블 3개가 아닌 적은 2개, 많은 4개를 등록하는 경우입니다. 덧붙여 설명하자면, 선생님이 A,B,C 수업에 속했지만 A,B에만 속하게 변경하거나 A,B,C,D에 속하는 경우입니다. 1) Teacher의 관계테이블을 모조리 삭제하고 A,B,C,D를 다시 POST로 관계테이블을 설정한다. 2) 만약 4개의 관계테이블을 추가하려고 한다면, 기존에 3개가 있으므로 3개는 그냥 교체하고 1개는 생성한다. 만약 적은 2개의 관계테이블을 추가하려고 한다면, 기존에 3개가 있으므로 2개는 교체하고 1개는 삭제한다. 1,2안 중 어떤 방법을 사용해야할까요? 아니면 보통 이런 경우 사용하는 방법이 있을까요 ?!!!! 1안 같은 경우는 id가 무지막지하게 생성될 것 같습니다… 제가 학부생이라 부족합니다. 잘 부탁드립니다 !

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

안희수님의 프로필 사진

POST PUT에 담아서 처리하는 것은 최대한 한번에 처리해야 하는것이 좋은데 VO객체를 리스트 형태로 한번에 담아서 보내시고 가급적 SQL 프로시저로 DB가 직접 처리하는게 단건으로 일일히 처리하는 것 보다는 효율적입니다

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 04월 03일

이 경우에는 상황 및 환경에 따라 다르겠지만, 보통은 1번 방법보다는 2번 방법이 선호되는 경우가 많습니다. 1번 방법(Teacher의 관계테이블을 모두 삭제하고 다시 POST로 관계테이블 설정)의 경우, 데이터의 id 값이 계속 증가하여 과도한 id 생성 문제가 발생할 수 있습니다. 또한, 삭제된 내용에 대한 이력 추적이 어려워질 수 있으며, 모두 삭제하고 재생성하는 과정에서 성능상의 오버헤드가 커질 수 있습니다. 2번 방법(기존 데이터를 교체하거나 추가/삭제)은 변경 사항만 적용하기 때문에 필요 없는 작업을 줄일 수 있고, 불필요한 ID 생성 문제도 피할 수 있습니다. 또한 변경 사항에 대한 추적이 가능하므로 버그 발생시 추적이 용이하게 됩니다. 하지만 최선의 해결책은 사용자 요구사항과 환경에 달렸으니 여러 가지를 고려하여 결정하는 것이 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!