Http 요청을 핸들러에 맵핑하는법을 봐보자
* 컨트롤러에 있는 요청을 처리할 수 있는 메소드를 핸들러라고 부른다
단순한 거니 후다닥 보고 넘어가자
뷰로 보내는게 아니라 응답 메시지를 내보내고 싶을때 @ResponseBody 어노테이션 붙여준다
해당 핸들러 테스트
테스트용 스프링 러너를 이용하고, 테스트를 해준다,
여기서 RequsetMapping 에는 Get,Post,Put 등 Http 메소드를 적어 줄 수있는데,
Get 으로 보낼경우에는
캐싱을 할 수 있다. 보내는 요청 헤더에 캐싱 관련 헤더를 붙여 넣을 수 있다.
조건적 GET 이라 하면, not Modified ,Modified since 같은 헤더를 이용 하는 건데,
조건에 따라 캐싱한 값을 바로 보내줘서 요청이 굉장히 빠르게 해결된다.
POST 요청은 Idemponent 하지 않은데,
이건 같은 요청을 보내도 항상 결과가 같지 않다는 것
PUT 은 어떤 한 리소스에 대한 응답이기 때문에 Idemponent 하다.
PATCH 는 차이점만 보낸다는 점이 다르다
여기서 @RequestMapping 의 URI 는 여러 패턴으로 맵핑이 된다.
정규 표현식으로도 Mapping 이 가능하다.
컨텐츠 타입 맵핑을 알아보자
consumes 로 특정 요청 타입만 받을 수 있다.
응답 값도 타입을 정할 수 있다.
produces 로 응답값의 타입을 설정할 수 가 있는데,
이 경우에 요청한쪽에서 accepted 의 타입 값과 다르면 에러가 발생한다.
하지만, accepted 가 없으면 요청에선 무슨 타입이든 받겠다는 뜻이여서
에러가 발생하진 않는다.
핸들러 헤더 매핑
특정 헤더 값에 따라 핸들러를 실행 시킬 수 있다.
앞에 ! 를 붙이면 해당 헤더가 존재 하지 않으면 핸들러 실행
= 을 붙이면 해당 헤더값이 동일하다면 실행으로 조건을 붙여 실행 할 수 있다.
'Spring > MVC' 카테고리의 다른 글
핸들러 메소드 - 요청 데이터 (0) | 2020.10.05 |
---|---|
Spring MVC 핵심 기술 - 커스텀 어노테이션 (0) | 2020.10.02 |
WebMvcConfigurer - HttpMessageConverter (0) | 2020.09.30 |
WebMvcConfigurer - Resource Handler (0) | 2020.09.30 |
WebMvcConfigurer - Converter (0) | 2020.09.30 |