SNS로회원가입
30
2020-10-15 18:19:49
4
163

웹환경에서 데이터베이스 테이블 업데이트 질문 드립니다.


안녕하세요 오키 회원님들



REST 방식에서 데이터 베이스 수정을 현업에서 어떻게들 처리하시는지 궁금한점이 있어 글을 남깁니다


가령 예를들어 게시판에 게시글이 데이터베이스 테이블에 존재하고


게시글 테이블의 속성이 제목,글쓴이,본문 단순히 세개만 있다라고 가정을 했을때


사용자는 본문의 내용만 수정하고 제목은 전혀 수정하지 않았습니다.


이때 데이터 전체 (제목,글쓴이,본문)을 update 하나요?


제목만수정했는지,본문만 수정했는지 클라이언트에서 서버로 통신할때 구분이 된다면 당연히 본문내용만 업데이트하는게 맞겠지만 


전체 데이터를 넘긴다면 어떻게 처리를 하시나요?

0
  • 답변 4

  • kudy
    288
    2020-10-15 18:36:10

    PUT 요청해서 수정할 컬럼만 업데이트 하는 방식으로 사용하지 않나요

    컬럼 하나 수정한다고 외에 컬럼들을 전체적으로 업데이트 치는건 비용이 너무 드는거 같습니다.

  • SNS로회원가입
    30
    2020-10-15 19:04:08

    서버입장에서 클라이언트에서 제목 글쓴이 본문이 넘어온다면 제목이수정된건지 본문이 수정된건지 알아야 해당부분만 업데이트를 할텐데 이부분이 궁금합니다

  • kudy
    288
    2020-10-16 09:32:25

    SNS로회원가입 

    제가 헷갈렸네요 PUT 요청은 전체를 바꾸는 겁니다.

    부분 업데이트가 가능한 REST API PATCH 항목으로 찾아보시면 됩니다.

    그리고 해당 변경내용은 각 input 태그에 존재하는 선택자에

    change 이벤트를 사용해 변경된 값을 찾아보세요

  • SNS로회원가입
    30
    2020-10-16 09:53:02

    답변 감사합니다.


    현재 프로젝트에서는 PATCH 메서드까지는 사용하지 않고, PUT메서드만 사용하고 있습니다.

    위에 예시는 간단하게 들었지만 입력폼이 20개정도 되는데 모든 태그에 체인지 메서드로 트래킹 하는 것은 비효율 적인 것 같아 처음 get요청의 데이터와 put요청시의 formData를 비교해서 데이터가 다른 부분만 put요청 하는걸로 가닥을 잡았습니다.


    많은 도움 되었습니다. 감사합니다


  • 로그인을 하시면 답변 을 등록할 수 있습니다.