AOP의 이론을 배우고, blog 프로젝트의 유효성 검사에 적용시켜 볼 것입니다.
ValidationAspect 클래스가 AOP의 형태를 띄우고 있습니다. 해당 클래스를 통해
컨트롤러에서 공통적으로 사용되는 검증 로직(부가 로직)을 한 곳에 처리시키는 작업을 합니다.

ValidationAspect 클래스 입니다.
@Aspect 어노테이션을 사용해 부가적인 로직임을 선언했습니다.
JoinPoint는 @Around 를 통해 메서드 실행 전, 후 모두 동작되도록 설정되었습니다.
@Around("@annotation(org.springframework.web.bind.annotation.PostMapping)")
포인트 컷을 통해
@PostMapping( ) 을 사용하는 메서드가 실행될 때 동작하도록 선언했습니다.

컨트롤러에서 PostMapping을 사용하는 메서드 중 하나를 가져왔습니다.
게시글 수정하기 요청이 들어올 경우 update 메서드의 매개변수 중,
@Valid BoardRequest.UpdateDto updateDto
,Errors errors
가 인식되어 요청으로 들어온 updateDTO를 @Valid 어노테이션을 통해
updateDTO가 유효한지 검사하게 됩니다.

updateDTO에서는 title과 content 요소에서 빈칸과 공백을 허용하지 않고 있습니다.
만약 수정 요청으로 들어온 데이터에서 title이나 content가 비어있을 경우
이를 ValidationAspect에서 catch하여 Error 메시지를 띄우게 됩니다.
이 과정이 AOP의 한 구현으로 ValidationAspect 클래스를 이용하여
프로그램의 데이터 유효성 검사를 적용시켜 보게 되었습니다.
Share article