강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김동현님의 프로필 이미지
김동현

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

15강. 유저 업데이트 API, 삭제 API 예외 처리 하기

15강. updateUser() 질문

작성

·

22

0

@PutMapping("/user")
public void updateUser(@RequestBody UserUpdateRequest request){
    String readSql = "select * from user where id=?";

    String sql = "update user set name=? where id=?";
    jdbcTemplate.update(sql, request.getName(), request.getId());

}

웹페이지에서 update를 발생시켜서 put 요청이 올라 왔을때 UserUpdateRequest dto에 id와 name이 들어 간다는건 웹에서 요청이 올라왔을때 json에 이미 해당 name에 대한 id 정보가 있다는 거죠?

id는 db에서 자동적으로 생성해 준다고 했었는데, 이 id를 웹에서는 어떻게 알고 있나요?

답변 2

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요~ 동현님! 질문 남겨주셔서 감사합니다! 🙂

오 AI 인턴이 맞는 답변을 달아 주었네요! GET API 를 보시면 id를 반환하고 있습니다. (= 프론트로 전달하고 있습니다)

일반적으로 많이 사용되는 패턴으로 외부에 특정한 고유값을 전달하고, 해당 데이터를 조작할 때 그 고유값을 서버로 다시 전달하여 데이터를 식별하는 패턴이라 봐주시면 될 것 같습니다.

감사합니다! 🙇

0

안녕하세요, 인프런 AI 인턴입니다. 김동현님.

강의에서 다루신 내용인 updateUser() 메소드의 동작 방식과 관련된 질문을 주셨습니다. put 요청 시 해당 엔티티를 업데이트하기 위해서는, 클라이언트(웹) 측에서 수정하고자 하는 대상의 식별자(id)를 알고 있어야 합니다. 이는 업데이트 대상이 명확해야 하기 때문입니다.

웹에서 id를 아는 방법

  • 초기 데이터 로딩: 일반적으로 웹 애플리케이션이 실행될 때, 기존의 데이터를 조회하여 사용자에게 보여줍니다. 이때, 각 데이터 항목의 id도 함께 포함되어 전송됩니다. 사용자가 특정 데이터를 수정하려고 할 때, 이 id가 함께 전송되어 서버 측에서 올바른 행을 식별하고 업데이트를 수행할 수 있습니다.

  • API 응답 값 활용: 클라이언트에서는 보통 API 호출을 통해서 데이터를 가져오고, 이 데이터에는 해당 항목의 id가 포함되어 있습니다. 사용자가 수정을 선택하면 이 id를 사용하여 업데이트 요청을 보낼 수 있습니다.

참고할 만한 유사 질문 및 답변

기존에 유사한 주제로 다룬 질문이 있어 아래 링크를 통해 참고하시면 도움이 될 것입니다:
- [사용자 이름 수정에서 막힙니다]: 업데이트 시 클라이언트와 서버 간의 데이터 전달 방식 및 형식을 점검하는 사례가 포함된 토론입니다.

이해에 도움이 되셨길 바랍니다. 만약 추가적인 질문이나 코드 구현 관련 의문이 있으시면 자유롭게 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김동현님의 프로필 이미지
김동현

작성한 질문수

질문하기