스프링 데이터 Common: Null 처리하기
스프링 데이터 2.0 부터 자바 8의 Optional 지원.
- Optional findById(Long id);
Continue reading
스프링 데이터 Common: Repository 인터페이스 정의하기
Repository 인터페이스로 공개할 메소드를 직접 일일히 정의하고 싶다면 (다 받지 말고 쓰는 것만 직접 선언)
Continue reading
전역 컨트롤러: @(Rest)ControllerAdvice
예외 처리, 바인딩 설정, 모델 객체를 모든 컨트롤러 전반에 걸쳐 적용하고 싶은 경우에 사용한다.
- @ExceptionHandler
- @InitBinder
- @ModelAttributes
Continue reading
DataBinder: @InitBinder
특정 컨트롤러에서 바인딩 또는 검증 설정을 변경하고 싶을 때 사용
Continue reading
모델: @ModelAttribute 또 다른 사용법
@ModelAttribute의 다른 용법
- @RequestMapping을 사용한 핸들러 메소드의 아규먼트에 사용하기
- @Controller 또는 @ControllerAdvice(뒤에서 포스팅)를 사용한 클래스에서 모델 정보를 초기화 할 때 사용한다.
- @RequestMapping과 같이 사용하면 해당 메소드에서 리턴하는 객체를 모델에 넣어 준다.
- RequestToViewNameTranslator
Continue reading
핸들러 메소드 16부: @ResponseBody & ResponseEntity
@ResponseBody
- 데이터를 HttpMessageConverter를 사용해 응답 본문 메시지로 보낼 때 사용한다.
- @RestController 사용시 자동으로 모든 핸들러 메소드에 적용 된다.
Continue reading
핸들러 메소드 15부: @RequestBody & HttpEntity
@RequestBody
- 요청 본문(body)에 들어있는 데이터를 HttpMessageConveter를 통해 변환한 객체로 받아올 수 있다.
- @Valid 또는 @Validated를 사용해서 값을 검증 할 수 있다.
- BindingResult 아규먼트를 사용해 코드로 바인딩 또는 검증 에러를 확인할 수 있다.
Continue reading
핸들러 메소드 14부: ResponseEntity
파일 리소스를 읽어오는 방법
Continue reading