아규먼트와 리턴 타입
핸들러에서 받을 수 있는 메소드 아규먼트를 먼저 봐보자
표 처럼 아규먼트 타입을 받을 수 있다.
이번엔 응답 리턴 값을 알아보자
ResponseEntity 는 응답 본문 부터 헤더 까지 셋팅 할 수 있다.
URI 패턴
이번엔 Uri에 들어있는 패턴을 메소드 아규먼트로 가져오는 방법을 알아보자
PathVariable 을 통해 가져온다
문자열을 넘겨줘도 Integer 로 자동 변환 된다.
Matrix Variable 을 쓰기도 한다.
로 쓰면
로 받아 올 수 있다.
하지만 이 설정은 비활성화 되어 있기때문에,
쓰고 싶으면
로 설정을 해서 활성화 시켜야 한다.
요청 파라미터
파라미터는
@RequestParam 으로 받아오는데
이걸 생략이 가능하다.
객체를 받아올 때는 @ModelAttribute 를 이용해서 받아 올 수 있다.
(ModelAttribute 도 생략 할 수 있다.)
만약, Event 객체 안에 Integer 타입의 필드 가 있는데,
여기에 String 값이 들어오면 bindingError 가 발생하는데
이걸 직접 처리 하기 위해서는 BindingResult 를 옆에 붙여주면 된다.
에러가 BindingResult 에 들어가고 요청은 정상 작동한다. ]
다만, 요청 값은 정상적으로 들어가지 않는다.
@Valid 를 붙이면 검증 가능 하다.
Event 객체에서 검증이 필요한 필드에
@Min() 을 붙이면 해당 조건 으로 검증이 가능해진다.
하지만 이 Java 스펙으로 있는 @Valid 는 그룹으로 검증이 불가능 하다.
이런식으로 group 으로 사용할 경우
@Validated 에서는 검증이 가능하다.
이렇게 해당 그룹만 검증이 가능 하다.
'Spring > MVC' 카테고리의 다른 글
핸들러 메소드 - 응답 데이터 (0) | 2020.10.05 |
---|---|
핸들러 메소드 - 세션 데이터 (0) | 2020.10.05 |
Spring MVC 핵심 기술 - 커스텀 어노테이션 (0) | 2020.10.02 |
Spring MVC 핵심 기술 - 요청 맵핑 (0) | 2020.10.02 |
WebMvcConfigurer - HttpMessageConverter (0) | 2020.09.30 |