전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Springboot/블로그만들기

[Springboot] 블로그 만들기 (40)_ 회원가입, 게시글 삭제 문제 해결

2023. 12. 8. 21:51

문제점 : 회원가입시에 중복아이디에 대해서 회원가입이 되는것처럼 동작한다. 하지만 실제로 DB에는 반영이 안된다.

 

GlobalExceptionHandler

회원가입완료 버튼을 눌러서 오류가 발생하게 되면 GlobalExceptionHandler를 타게 된다. 그리고 500을 반환한다.

--> 500을 응답했을 경우에 대해서 분기처리를 하면 된다.

@ControllerAdvice // 어느파일에서나 Exception이 발생해도 이 함수를 타게 하기 위한 어노테이션
@RestController
public class GlobalExceptionHandler {

	@ExceptionHandler(value=Exception.class)
	public ResponseDto<String> handleArgumentException(Exception e) {
		return  new ResponseDto<String>(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); // 500을 리턴한다.
	}
}

 

 

User.js

let index = {
	init: function(){
		$("#btn-save").on("click",()=>{ 
			this.save();
		});
	}
	
	,save: function(){
		let data = {
			userName : $("#userName").val(),
			password:$("#password").val(),
			email:$("#email").val()
		};
		
		$.ajax({
			type:"POST",
			url:"/auth/joinProc",
			data:JSON.stringify(data), 
			contentType: "application/json; charset=UTF-8", 
			dataType:"json" 
		}).done(function(resp){
			if(resp.status === 500){
				alert("회원가입에 실패하였습니다.")
			}else{
				alert("회원가입이 완료되었습니다.");
				console.log(resp)
				location.href="/";
			}
		}).fail(function(error){
			alert(JSON.stringify(error));
		}); 
	}
}	

index.init();


문제점 : 댓글이 있는 게시글에 대해서 삭제가 안된다.

게시글 11을 삭제해서 삭제 완료라고 뜨지만 실제로는 삭제되지 않은것을 볼 수 있다.

 

댓글에 게시글에 대한 외래키가 걸려있는데 , 게시글을 삭제할때 댓글에 대해서 어떻게 할 건지에 대해서 정의가 안돼있어서 그렇다. Cascade 옵션을 줘야한다.

 

Board.java

@JsonIgnoreProperties({"board"})
@OneToMany(mappedBy = "board", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE) 
//cascade = CascadeType.REMOVE 게시글을 지우면 댓글을 다 지우겠다
@OrderBy("id asc")
private List<Reply> replys; // 하나의 글에는 여러개의 댓글이 가능하기 때문에 List 로  가져와야된다.

참고 유튜브 (메타코딩님 강의)

https://youtu.be/BhUxyaGH9zU?si=6hwQsxR1ZTmoqxFV

    'Springboot/블로그만들기' 카테고리의 다른 글
    • [Springboot] 블로그 만들기 (41)_ 댓글 삭제
    • [Springboot] 블로그 만들기 (39)_댓글 작성하기 (네이티브 쿼리 사용)
    • [Springboot] 블로그 만들기 (38)_댓글 작성하기 (Dto사용)
    • [Springboot] 블로그 만들기 (37)_댓글 작성하기
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바