form 태그를 통해 get을 하거나 post를 할 때 태그를 열고 닫을 때
태그의 배치를 올바르게 하지 않아 오류가 발생했었다.
2. @RequiredArgsConstructor
예를 들어 memberController에서 memberService의 메소들를 사용하기 위해 private final MemberService memberservice( final을 붙여 컨트롤러 내부에서 service 객체를 변경할 수 없도록 함)로 선언을 했었다.
하지만 @RequiredArgsConstructor 어노테이션을 붙이지 않아 초기화되지 않은 final 필드에 대해 생성자가 생성되지 않아 오류가 발생했었다.
3. File Entitiy 정의 시 file의 크기
처음 File Entity를 만들 때 파일의 내용에 대한 필드인 content의 데이터 형식을 blob으로 지정했었다. 하지만 파일의 크기가 조금만 커져도 에러가 발생했었다. 이를 해결하기 위해 @Column(columnDefinition="LONGBLOB") 을 붙여 컬럼의 데이터 타입의 크기를 크게 설정했다.
4. 업로드 시 File의 크기
처음에 개발 시 1MB을 넘어가는 파일을 업로드 했을 시 크기 문제로 오류가 발생했었다. 이를 위해 applicatoin.yml 파일에
다음과 같이 파일의 최대 사이즈와 요청 사이즈를 설정하여 30MB가 넘는 파일을 업로드해도 잘 업로드가 되었다.
5. CORS 오류
전에 작성했던 것처럼 자바스크립트를 통해 중복확인을 할 때 CORS 오류가 발생했었다.
6. 회원 로그인과 게시물 작성 공백 이슈
th:field와 th:errorclass, th:errors를 설정하지 않은 회원 로그인과 게시물 작성, 수정시 공백을 입력해도 에러를 발생시키지 않고 그대로 처리되어 문제가 있었다.
해결을 위해 input 태그에 required를 붙이고 필드 정의시 각 필드를 @NotBlank로 설정해 공백으로 입력을 해서 처리를 하면 공백인 상태로 입력칸을 두지 말라는 메세지를 띄우도록 하여 문제를 해결하였다.