본문 바로가기
공부/Spring

[chap14] MVC 4 : 날짜 값 변환, @PathVariable, 익셉션 처리

by JERO__ 2022. 6. 2.

좀 치는 스프링 스터디

 https://github.com/woowacourse-study/2022-gugu-spring-study

 

GitHub - woowacourse-study/2022-gugu-spring-study: 레벨1 구구조의 제로가 이끄는 스프링 스터디

레벨1 구구조의 제로가 이끄는 스프링 스터디. Contribute to woowacourse-study/2022-gugu-spring-study development by creating an account on GitHub.

github.com

1. 날짜값 사용하기

  • LocalDataTime : 날짜값
  • @DateTimeFormat : LocalDataTime으로 변환
@DataTimeFormat(pattern = "yyyyMMddHH")
private LocalDateTime from;

2. @PathVariable 이용한 경로 변수 처리

  • 경로변수 {id} 값을 파라미터로 전달할 수 있다
@GetMapping("/members/{id}")
public String detail(@PathVariable("id") Long memId, Model model) {
		...
}

3. 익셉션 처리

  • 같은 컨트롤러에 @ExcaptionHandler을 적용하면 익셉션 처리한다.
@ExceptionHandler(MemberNotFoundException.class)
public String handleNotFoundException() {
    return "member/noMember";
}

4. @ControllerAdvice를 이용한 공통 익셉션 처리

  • @ControllerAdvice : 지정한 범위의 컨트롤러에 공통으로 사용될 설정을 지정
@ControllerAdvice("spring")     // spring 패키지, 그 하위 패키지
public class CommonExceptionHandler {
	
    @ExceptionHandler(MemberNotFoundException.class)
    public String handleNotFoundException() {
            return "member/noMember";
    }
}

 

@ExcaptionHandler 의 우선순위

  1. 같은 컨트롤러에 위치한 @ExcaptionHandler 처리
  2. 1번이 없을 경우, @ControllerAdvice 클래스에 위치한 @ExcaptionHandler 처리

댓글