개발공부

잊지말자 @RequestBody. feat.Column cannot be null

pumaclass 2024. 8. 15. 00:55

오늘만 하루종일 Column 'pw' cannot be null과 사투했다.

미친척하고 pw column에서 not null을 지워보니 다른 곳에서 cannot be null이 뜨더라.

강의만 하루종일 돌려봤으며 같은 코드만 뚫어지게 쳐다봤다.

 

만일 당신이 3계층 레이어를 사용하고 있다?

RequestDto가 아무리 봐도 멀쩡하다?

Repository를 아무리 봐도 이상한점이 없다?

Service에서 디버그로 sout를 돌렸을때 null이 발생했다?

 

그럼 100% controller에서 @RequestBody를 빠뜨린것이다.

 

코드 수정 전

    @PutMapping("schedules/{id}")
    public Long updateSchedule(@PathVariable Long id, MainRequestDto requestDto){
        return mainService.updateSchedule(id, requestDto);
    }

 

진짜 이상한점이 안보였다.

강의에서 @RestController는 @RequestBody를 포함하고 있다고 들었기 때문이다.

 

근데 아니다 둘다 써야된다...

포함하고 있다는 말이 안써도 된다는 말이 아닌거같더라..

 

수정된 코드

    @PutMapping("schedules/{id}")
    public Long updateSchedule(@PathVariable Long id,@RequestBody MainRequestDto requestDto){
        return mainService.updateSchedule(id, requestDto);
    }

 

아무래도 json을 자바 언어로 변환하지 못해 생긴문제 같다.

 

일단 해냈다.. 버그 해결하는게 재밌는거 보니 나는 변태가 맞는거 같다.

'개발공부' 카테고리의 다른 글

JWT란 무엇일까?  (0) 2024.08.19
영속성 컨텍스트 간단 정리  (0) 2024.08.15
클래스  (0) 2024.08.13
메모장 만들기  (0) 2024.08.12
스프링 GetMapping  (0) 2024.08.09