에러 9

[에러] Thymeleaf가 PUT method를 지원하지 않는 현상

회원 정보 수정 코드를 짜다가 아주 삽질 삽질 개삽질을 했음. 일단 문제가 크게 3가지가 있었는데, Serivce 코드 문제 Controller 코드 문제 Thymeleaf 코드 문제 나름대로 코드를 짜보았으나... 계속되는 update 쿼리 실패. 왜 계속 select 쿼리만 나가는 거니ㅠ 아무래도 제일 먼저 Service 코드가 잘못됐다고 생각해서 그거부터 고치기 시작함. 그 다음은 Controller. 어찌저찌 고쳐도 계속 update 쿼리가 나가지 않는 것이었다. 난 viewPage 문법에 문제 있어도, Service랑 Controller 코드 잘 짜면 DB는 수정되는 줄 알았지. 근데 계속 안 되길래, Serivce랑 Controller 코드만 계속 수정하고 있었음. 설마 Thymeleaf 때문..

에러 2023.02.03

[예외 처리] isEmpty일 때 Custom Exception 실패 후기

예외 처리에 관해 이것저것 해보고 있음. 저번 회원가입 시 중복 이름 입력에 대한 Custom Exception을 해보고, 이번엔 게시물 이미지를 한 개도 등록하지 않았을 경우 Custom Exception을 해보았다. 나름대로 코드를 짜고... 이게 맞는 로직인가? 싶었는데, 일단 테스트코드가 통과하긴 한다... ++ 후에 알고보니 잘못된 코드였음. 아무튼 실패도 값진 경험이니 기록을 해보겠다. 먼저, ErrorCode를 enum 타입으로 만든다. [ErrorCode.java] import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.http.HttpStatus; @AllArgsConstructor @Getter..

에러 2023.01.25

[에러] 409 에러

409 에러가 났다. 처음보는 에러였다. 회원가입 성공 & 실패 테스트를 통과 후 로그인 성공 & 실패 테스트 코드를 작성하는 과정에서 마주한 에러다. [Test 코드] @Test @DisplayName("로그인 실패 - userName 없음") @WithMockUser void login_fail1() throws Exception { String userName = "Kim"; String password = "1qwefa32"; when(userService.login(any(), any())) .thenThrow(new AppException(ErrorCode.USERNAME_NOT_FOUND, "")); mockMvc.perform(post("/api/v1/users/login") .with(c..

에러 2023.01.18

[에러] cannot construct instance of `...` & resolved [java.lang.nullpointerexception]

회원가입 테스트를 하다 마주한 에러이다. userName과 password를 보내는 api 호출 테스트를 했지만, 에러가 났다. 첫 번째 에러는 cannot construct instance of `내 패키지 이름` 어쩌구 였다. Resolved [org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.join.joinerror.domain.dto.UserJoinRequest]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct i..

에러 2023.01.17

[에러] 회원 가입 & 로그인 에러 처리에 대한 고찰

회원가입과 로그인 시 발생할 수 있는 에러에는 무엇이 있을까? 대표적으로 중복 회원 가입 회원 가입 후 로그인 불일치 등이 있을 수 있겠다. 내가 공부하려 적는 포스팅이다. 다소 충분치 않은 코드들일 수 있다. ++ 에러를 처리하는 방법은 정말 많다. 정답이 없다. (해도해도 끝이 없는 코딩의 세계...) [MemberFormDto.java] import lombok.Getter; import lombok.Setter; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validati..

에러 2023.01.17

[SpringBoot 에러] (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

실습을 하다가 만나게 된 에러... JSON으로 데이터를 생성하려 Post로 전송을 했다. { "title": "제목입니다.", "tutor": "음치킨" } 하지만 500 에러가 나고, 콘솔을 확인해 보니 제일 첫 번째 줄에 났던 에러 문장 맨 뒤에 (에러가 날 때는 제일 처음에 난 에러부터 해결하자. 그러면 뒤에 에러 줄줄이 해결될 가능성 높음) (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 이런 에러가 났다. 구글링해보니 "파라미터가 있는 constructor 가 있을 때 어떻게 Json 모델을 생성해야되는지 몰라서 발생하..

에러 2023.01.08

git commit 삭제

🚨 문제 깃에 올라가면 안 되는 파일을 .gitignore에 추가하고 푸시했는데, 반영 안 됐음. 뭐임? 이동욱 개발자님 블로그 보니 Git의 캐시문제 때문이라고 한다. git의 캐시가 문제가 되는거라 아래 명령어로 캐시 내용을 전부 삭제 후 다시 add All 해서 커밋하시면 됩니다. (출처 : https://jojoldu.tistory.com/307) 그래서 이 블로그에 나와있는 대로 git rm -r --cached . git add . git commit -m "fixed untracked files" 이렇게 해서 다시 푸시를 해보니 정상적으로 .gitignore처리가 됐다. 근데 문제는 commit 기록이 남아서 거길 들어가보면 내가 어떤 파일을 올렸다가 .gitignore 처리를 해서 다시 내..

에러 2023.01.04

Spring Boot와 MySQL 연동 방법

내가 까먹을까봐 올림 application.yml이나 application.properties 파일에 (+ 내가 예전에 구글링하다 yml 보고 이거 뭐야? 했어서 설명 추가함. 이런 거 엄청 간단해서 다들 알 것 같지만, 나같이 주입식 단기 국비교육받은 사람들은 모를 수도 있음. 거기선 이유 안 알려주고 걍 하라고 함. 걍 properties 파일에서 양식만 바꾼 게 yml 파일입니다. 예를 들어, properties 파일에선 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 이었던 게, yml 파일에선 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver 이런 식입니다. 들여 쓰기 중..

에러 2023.01.01

LeetHub 빨간체크 연동 에러 이슈

최근에 LeetCode의 문제를 풀면 자동으로 GitHub에 push를 해주는 LeetHub를 연동해 봤다. 근데 자동 커밋이 안 되는 것이었다. 빨간 체크가 계속 뜸... 아 캡쳐를 해놨어야 했나. 안 했는데. 이 글도 안 쓰려다가 혹시라도 나와 같은 에러를 마주한 사람이 한 명이라도 볼까 싶어서... 뒤늦게 글을 써보는 것이다. 암튼 원래는 초록 체크가 떠야 하는데, 빨간 체크가 떠서 구글링 해봤더니 제대로 push가 되지 않을 때 생기는 오류인 것 같았다. 엄청난 구글링을 했는데 원하는 결과가 나오지 않았다. 새 md 파일을 먼저 푸시 하고 해봐라... 그런 것들도 해봤지만 여전히 안 되더라. 그렇게 연동하지 말아야겠다 생각하고 그만하려 했는데, 우연히 방문한 블로그에서 나온 방법대로 하니 연동이 ..

에러 2022.12.19