
package shop.mtcoding.blog._core.errors;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect // AOP 등록
@Component // IoC에 등록
public class MyValidationHandler {
// Advice (부가 로직 hello 메서드)
// Advice 가 수행될 위치 == PointCut
@Before("@annotation(org.springframework.web.bind.annotation.GetMapping)")
public void hello(JoinPoint joinPoint) {
System.out.println("MyValidationHandler : hello_______________________");
}
}
get 매핑일 때만 실행하라고 걸어둔것
비포는 매서드 시작직전 애프터는 끝나고 나서
유효성 검사를 위해 사용한다
고로 겟 매핑이 아니라 바디데이터가 있는 포스트 매핑에서만 사용한다
유효성 검사가 필요한페이지는 포스트 빡에 없다
그래서 바꿔줌

보더 컨트롤러 이부분 수정
@PostMapping("/api/boards")
public ResponseEntity<?> save(@Valid @RequestBody BoardRequest.SaveDTO reqDTO, Errors errors) {
User sessionUser = (User) session.getAttribute("sessionUser");
BoardResponse.DTO respDTO = boardService.글쓰기(reqDTO, sessionUser);
return ResponseEntity.ok(new ApiUtil(respDTO));
}
보더 saveDTO 수정