이번에는 Spring boots를 활용하여 일정 관리 앱 만들어보았습니다.

Controller, Service, Repository로 분류를 하여 역할을 나누었습니다.
password가 null로 저장되는 문제선택한 일정을 수정하는 부분에서 password가 null로 발생되어 수정이 되지않고 400오류가 발생함.
오류 발생한 원인 (조건문에서 오타발생)
if(author == null || todo != null ) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "작성자 그리고 할 일 내용이 없습니다.");
}
해결방법
if (author == null || todo == null ) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "작성자 또는 할 일 내용이 없습니다.");
}
오류 발생한 원인 (calendarRowMapperV2에서 password를 받지 못함)
private RowMapper<Calendar> calendarRowMapperV2() {
return new RowMapper<Calendar>() {
@Override
public Calendar mapRow(ResultSet rs, int rowNum) throws SQLException {
return new Calendar(
rs.getLong("id"),
rs.getString("author"),
rs.getString("todo")
);
}
};
}
해결방법
private RowMapper<Calendar> calendarRowMapperV2() {
return new RowMapper<Calendar>() {
@Override
public Calendar mapRow(ResultSet rs, int rowNum) throws SQLException {
return new Calendar(
rs.getLong("id"),
rs.getString("author"),
rs.getString("todo"),
rs.getString("password")
);
}
};
}
RowMapperV2에서 password를 받지 못하여 계속해서 null이 반환이 되어 수정이 이루어지지 못함.
코드에서 하나라도 오타가 난다면 실행이 안되기에 잘못 된 코드를 찾는 것이 가장 힘들었습니다.
하나하나 확인하면서 꼼꼼하게 코드구현을 해야하는 것을 다시 한번 깨달았습니다.