티스토리 뷰
Spring
spring 컨트롤러에 접근 전에 항상 접근하게 하는 어노테이션(@ControllerAdvice @ModelAttribute)
pakker 2020. 12. 10. 14:10controller에 접근 전에 접근하게 하는 기능을 하는 어노테이션
클래스 명 위에 작성할 수 있으며
@ControllerAdvice("com.pakker.test") 이런 식으로 컨트롤러 거치기 전 들르게 하는 선택자(패키지 등)를 지정할 수 있다.
@ModelAttribute는 @ControllerAdvice 안에 메소드에 붙이는데
컨트롤러에 넘어가기전 실행시켜준다.
나는 컨트롤러에 접근 전에 항상 공통 vo에 세션에 있는 로그인 정보를 넣어서 전달하고 싶어서 사용했다.
예시)
@Slf4j
@Controller
@ControllerAdvice("com.pakker.test")
public class BaseController {
@ModelAttribute("{flag}")
public ParamVO baseSetting(ParamVO p, @PathVariable String flag, HttpServletRequest request)
throws MalformedURLException {
ParamVO tmp = new ParamVO();
// 로직
return tmp;
}
}
'Spring' 카테고리의 다른 글
리액티브 프로그래밍 (0) | 2021.03.17 |
---|---|
mybatis 쿼리 where 조건 쓸때 and 때문에 에러날 경우 (0) | 2020.12.11 |
@Transactional(readOnly = true) (0) | 2020.11.22 |
mybatis resultType에 넣을 수 있는 값 (0) | 2020.11.05 |
생성자의 매개변수가 많을 때는 빌더(builder)를 고려하자 (0) | 2020.10.11 |
댓글