사용자 이름 수정에서 막힙니다
440
작성한 질문수 5
강의 코드를 그대로 따라가고 있지는 않고 기존에 알고 있던 내용이랑 합쳐서 코드를 작성하고 있습니다.
Controller
@PutMapping("/user")
public void updateUserName(@RequestBody UpdateUserDto updateDto) {
userService.updateUserName(updateDto.getId(), updateDto.getName());
}Dto
public class UpdateUserDto {
private long id;
private String name;
public long getId() {
return id;
}
public String getName() {
return name;
}Repository
@Override
public void updateUserName(long id, String name) {
String sql = "update user set name = ? where id = ?";
jdbcTemplate.update(sql, name, id);
}Service
@Override
public void updateUserName(long id, String name) {
userRepository.updateUserName(id, name);
}
수정을 눌렀을 때 name은 정상적으로 값이 넘어오는데 id가 계속 0으로 넘어옵니다,,
등록 시에는 DB에 id가 정상적으로 입력되고 있는데 뭐가 문제일까요?
답변 2
2
안녕하세요 hope님!! 남겨주신 코드를 확인해보았을 때 모두 정상적으로 작성해주신 것 같아요!!!
@RequestBody 도 잘 작성해주셨고~ DTO도 잘 만들어주셔서 id 가 넘어오지 않을리가 없을 것 같은데 이상하군요!!
제공되는 웹 UI를 사용하고 계신 상황에서, Controller로 넘어온 DTO의 id 를 가져오니 0이 찍힌다 라는 말씀이시죠~~
음.. 그렇다면 한 가지 의심해볼만한 내용은 GET API 에서 id 를 정상적으로 주고 있는지 확인해봐야 할 것 같습니다!
결국 화면에서는 GET을 통해 넘어온 id를 다시 넘길 뿐이라서 만약 GET API에서 id를 모두 0으로 주고 있다거나 하는 에러가 있다면, PUT API까지 영향을 줄 수 있을 것 같아요!
또한, 브라우저의 개발자 도구 > Network를 확인해보시면, 화면에서 서버로 데이터를 어떻게 전달하고 있는지 확인해보실 수도 있답니다! 이를 사용하면
클라이언트는 값을 5로 보냈는데 서버가 0으로 받는건지
클라이언트가 값을 0으로 보내서 서버가 0으로 받는건지
구분할 수 있어 보다 정확한 진단을 하실 수 있을 거에요!
꼭 해결되셨으면 좋겠습니다~ 감사합니다! 🙏🙏
리액트 관련 질문이 있습니다.
0
62
2
스프링부트 버전
0
67
2
7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.
0
55
2
33강. UserLoanHistory의 관계성에 대한 질문
1
52
2
Java JDK 버전 문의의 건
0
128
2
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
0
82
3
h2 console 접속했을 테이블 질문
1
63
1
ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨
0
72
2
15강. updateUser() 질문
0
51
2
깃허브 질
0
79
2
여기까지 다 끝냈다고 하셨는데
0
76
2
왜안될까요
0
68
2
MySQL 창이안ㄴ뜹니다
0
54
2
포스트맨
0
47
1
spring 개념적인 질문
0
69
2
인텔리제이 샘플코드 실행 안됨 오류
0
138
2
aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다
0
81
1
마이그레이션 오류입니다.
0
166
3
Whitelabel Error Page 오류가 났습니다.
0
157
2
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
1
89
3
궁금한게 있습니다.
0
55
2
DTO 관련
0
67
2
궁금한게 있습니다!
0
62
2
35강에서 returnBook 에서 userLoanHistory 값 중복에 관하여
0
54
2





